关于this、arguments、caller、callee、prototype、__proto__、length

来源:互联网 发布:windows10 linux子系统 编辑:程序博客网 时间:2024/06/16 15:12

1、this是一个对象,同时也是一个指针,指向的是函数执行环境(函数地址),它所返回的是一个函数体,包括这个函数下所有的属性值和方法,并且通过this来调用,增加,删除这些属性和方法。

2、arguments也是一个对象,但它返回的是一个类数组,里面包含所有函数的形参,这个对象有一个callee属性, 这个属性相当于一个指针,指向当前拥有这个arguments属性的函数,常用于递归算法,并且个人觉得通过arguments。callee找到函数的方法比直接通过函数名访问更为严谨。length代表的是arguments的长度。

3、caller是函数对象的一个属性,这个属性中保存着调用当前函数的函数引用,也就是说,如果我在某个函数里调用了另一个函数,在另一个函数中我可以通过函数名.caller 或者arguments.callee.caller 找到是谁调用的。如果是在全局作用域中调用的,如匿名函数自执行,返回的就是null。

4、prototype也是一个指针,系统会给所有函数默认分配一个prototype属性,这个属性指向函数的原型对象,并且prototype在默认情况下还会获得一个constructor(构造函数)属性,constructor同事也是一个指针,指向的是prototype属性所在的函数,它基本上只是指针的作用。

5、在Firefox、Safari、Chrome中,每个对象都会有一个叫 _proto_ 的属性,它也是一个指针,指向的是构造函数的prototype指针,在ECMA-26.2第五版中,它的写法是[[prototype]]。要注意的是在脚本中并没有明确的方法访问该属性,而且它指向的是构造函数的原型对象,而不是构造函数。
这里写图片描述

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 起诉离婚被告不出庭怎么办 安装u盘进入系统怎么办 思讯加密狗坏了怎么办 村主任选不出来怎么办 你的id已被停用怎么办 车牌摇号中签后怎么办 北京车卖了指标怎么办 车的电脑板坏了怎么办 饭卡消磁了怎么办妙招 有好项目没资金怎么办 买的股票涨停了怎么办 考研没过国家线怎么办 中石化的油卡怎么办 5173号被找回了怎么办 谭木匠梳子断了怎么办 198地块上的企业怎么办 天猫投诉不成立怎么办 顾客老嫌瓷砖贵怎么办 公司的公章丢了怎么办 物业不给充电费怎么办 怎么办社保卡去哪里办 单位没给社保卡怎么办 诈骗链接点开了怎么办 私人老板拖欠工资不给怎么办 辞职了工资不发怎么办 老板欠工资不给怎么办 投资平台跑路了怎么办 眼镜太松往下滑怎么办 塑胶水管管断了怎么办 淘宝排名靠后了怎么办 我有古董想出售怎么办 被拍卖公司骗了怎么办 苹果4s铃声太小怎么办 新号码注册微信怎么办 uc不能下种子了怎么办 刚出生的小牛喘怎么办 回奶之后有硬块怎么办 回奶第十天硬块怎么办 断奶期间乳房有硬块怎么办 断奶后乳房有肿块怎么办 北京一证通到期怎么办