代码拉取完成,页面将自动刷新
/**
* this
*/
// 解析器在调用函数时,每次都会向函数内部传递一个隐含的参数
// 这个隐含的参数就是this, this指向的是一个对象
// 这个对象我们称为函数执行的上下文对象
// 根据函数的调用方式不同,this指向不同的对象
function func() {
console.log(this.name);
}
// 以函数方式调用,this为window
func(); // object window ---> undefined
var obj = {
name: '孙大圣',
sayName: func,
eatSomething: function () {
console.log(this.name + ' is eating something')
}
};
// 以对象方式调用,this为创建的对象实例
obj.sayName(); // object object ---> 孙大圣
obj.eatSomething(); // 孙大圣 is eating something
/**
* arguments: 存储所有传递的实参
*/
// 调用函数时,浏览器每次都会传递两个隐含的参数
// 1. this: 函数上下文对象
// 2. arguments: 封装实参的对象
// arguments是一个类数组对象,也可以通过索引操作数据以及获取长度
// 3. 如果以函数的形式调用, this指向永远都是window
// 4. 而以方法形式调用时, this指向调用方法的那个对象 -> 又因为对象的原型为Object -> 所以指向object
function def(a = 1, b = 2, c = 3, d) {
console.log(arguments); // [Arguments] { '0': 12 }
console.log(arguments[0]); // 12
console.log(arguments.length); // 1
// arguments.forEach(function (number) {
// console.log(number);
// });
}
def(12);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。