位置: 编程技术 - 正文

理解javascript中的原型和原型链(javascript中的函数如何理解)

编辑:rootadmin

推荐整理分享理解javascript中的原型和原型链(javascript中的函数如何理解),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:简述javascript,javascript的理解,javascript深入理解,简述javascript,javascript中的函数如何理解,简述javascript,javascript的理解,javascript的理解,内容如对您有帮助,希望把文章链接给更多的朋友!

原型

  大家都知道,JavaScript 不包含传统的类继承模型,而是使用 prototype 原型模型。代码实现大概是这样子的

Kimy本身是没有say方法的,当他在自己对象中找不到该方法时就回去他的原型中查找,也就是Student.prototype对象中查找。这里我们用到了一个构造函数Student

构造函数、__proto__以及原型链

  除了IE浏览器,其他浏览器都在Object对象的实例上,部署了一个非标准的__proto__属性(前后各两个下划线),指向该对象的原型对象,即构造函数的prototype属性。

盗用一段代码和一张图

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_eab5.png" alt="查看图片" />

理解javascript中的原型和原型链(javascript中的函数如何理解)

  我们可以看到,每个对象都是含有一个__proto__属性,b的__proto__指向的构造b的构造方法Foo的prototype属性;而Foo.prototype也是一个对象,本身也有一个__proto__指向构造其的构造方法Object的prototype。Object.prototype的__proto__被指向了 null, 这就形成了一个原型链了。

这里还要能理解这样一段代码

new做了什么

  这里还有一个小问题,js里面普通函数和构造函数形式上貌似没有啥太大区别(首字母大写不是必须的,但是通常都把构造函数的首字母大写)。new这个关键字到底做了什么东西。

比方

var Kimy = new Student();

new 做了三件事情

1、定义了一个空对象

2、设置其原型

3、初始化对象

这样就能理解为什么Kimy.__proto__指向的是Student.prototype了(同一个引用),原来就是new在起着关键的作用!

标签: javascript中的函数如何理解

本文链接地址:https://www.jiuchutong.com/biancheng/377588.html 转载请保留说明!

上一篇:javascript设计模式之对象工厂函数与构造函数详解(js设计模式有什么用)

下一篇:JavaScript数据类型判定的总结笔记(javascript数据类型有哪些)

  • 2023小规模免税收入会计分录怎么写啊
  • 什么情况才能开专票
  • 个人所得税的税目分多少种
  • 税务人员岗位有哪些
  • 个体工商户月销售额超10万怎么报税
  • 房东口头答应减免房租又反悔了
  • 采购商品的会计分录料未到票到
  • 法人可不可以办信用卡
  • 小规模建筑业如何做账
  • 停业的纳税人还交税吗
  • 网络团购的类型
  • 房地产企业土地使用税
  • 权益性投资收益的账务处理
  • 汇算清缴补交需要调报表吗
  • 取得增值税专用发票是否可以抵扣
  • 未达起征点的增值税要交所得税吗
  • 携税宝可以不买吗
  • 分期付款融资账务处理
  • 外币业务汇兑损益根据业务划分为
  • 三代税款手续费是什么意思
  • 2019年出租车
  • 上市公司资产重组办法
  • 电子产品怎么计税
  • windows10如何开机启动软件
  • 单位出纳的业务有哪些
  • 客户罚款记哪个科目
  • centos编辑文本
  • 鸿蒙系统怎么快速充电
  • 误删开始菜单
  • 服务成本怎么处理
  • php foreach()
  • 股票分红怎么扣税
  • php使用memcache
  • 低值易耗品的管理和流程ppt
  • 残疾人就业保障金
  • php100 jquery教程
  • 埃托沙国家公园发展观兽旅游的优势条件
  • 公司法人变更账户没有改有影响吗
  • ubuntu npm安装
  • vuecli项目实战
  • php备份mysql数据库
  • PyTorch 深度学习实战 | 基于生成式对抗网络生成动漫人物
  • rmt命令 远端磁带传输协议模块
  • thinkphp教程
  • 收到现金股利或债券利息时会计分录怎么做
  • 2020年维修基金怎么交
  • 企业所得税计提分录
  • 增值税是如何计算的
  • sqlserver启动不起来
  • 什么是叫资产负债表项目
  • 先预付货款,货到了怎么做账
  • 购车贷款分期利率
  • 电子承兑背书了能撤回吗
  • 销售退回所得税怎么做账
  • 小规模防伪税控服务费多少钱
  • 应纳税额和已缴税额一样
  • 网络服务费怎么入账
  • 借别人钱收据怎么写
  • 多提税金的具体分录
  • 出口未申报退税罚款多少
  • 本年利润为什么是负数
  • 会计调账是什么意思
  • xp安全模式怎么用
  • alpine安装apt
  • 苹果macbook怎么切换系统
  • linux kill-15
  • linux操作系统的安装步骤
  • win8开机进入开始界面
  • linux who am i
  • win7 注册表 ahci
  • windows累积更新失败怎么办
  • cocos2dx开发的游戏
  • 基于socket的聊天程序
  • javascript写html
  • 关于Python的lambda函数,以下选项
  • scp命令详解(全)
  • python爬取某人所有朋友圈
  • JavaScript中的NaN代表什么
  • 如何理解财税一体化
  • 居住证在粤省事怎么查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设