Javascript中的用法分析
在学习Javascript,这是始终不清楚,这是不完全清楚这在java。后来我读了很多别人写的文章来了解它。现在把别人写的东西,因为遗忘后的恐惧。
一般来说,这一点是三点。指向全局窗口、对象、构造函数。
结论:在Javascript中,当函数执行时指向当前对象。简单的点是哪个对象是被调用的方法,这指向那个对象。
1。全局窗口
简单的代码
在窗口中;
它对于(){ var =功能()
Console.info(本=窗口);
Console.info(这个消息);
};
它对于();
因为调用方法,它对于是窗口,输出结果:
这是真的吗
现在,如果代码被转换为一个复杂的点
在窗口中;
它对于(){ var =功能()
Console.info(本=窗口);
Console.info(这个消息);
};
var obj = { {
留言:在obj,
PrintMsg: function () {
它对于();
}
};
obj.printmessage();
在这一点上,它对于属于窗口的方法,所以他的这仍然指向窗口,obj.printmessage方法属于obj对象,看下面的分析。
因此输出如下:在窗口中是真的
2。对象
现在查看对象并稍微更改代码。
在窗口中;
它对于(){ var =功能()
Console.info(本=窗口);
Console.info(这个消息);
};
var obj = { {
留言:在obj,
它对于:window.printmessage
};
obj.printmessage();
结果uff1a
False this in obj
是的,你认为它是正确的,或者最后一步的方法,obj.printmessage属于obj对象,所以这是指向obj。
然后恶心更好,看看代码:
在窗口中;
它对于(){ var =功能()
Console.info(本=窗口);
Console.info(这个消息);
};
var obj = { {
留言:在obj,
它对于:函数(){
var obj2 = { {
留言:在obj2的,
它对于:window.printmessage
};
obj2.printmessage();
}
};
obj.printmessage();
最后的电话是obj2.printmessage(),所以当这是执行,这是obj2
结果uff1a
假,这在obj2
哈哈,跟你想的一样,谁打电话,谁说谁。
三.构造函数
var =函数(){()
this.age = 1;
this.name =没有名字;
};
新的人();
Console.info(年龄=+ p.age);
Console.info('name = +器);
结果uff1a
年龄= 1名=没有名称。
那么构造函数对这个做了什么呢Javascript原型链
var(某人=函数){ };
新的人();
新的过程分为以下三个步骤:
(1)var P=};即,初始化对象p
(2)p.__proto__ = person.prototype;
(3)person.call(P);也就是说,P的建筑也可称为P的初始化
让我们来谈谈电话。
呼叫的方法
应用于:函数对象
调用对象的一种方法用于用另一个对象替换当前对象。
电话(thisobj { { { {,arg1,arg2,{,argn }}}}}。)
参数:
ThisObj
可选。它将用作当前对象的对象。
arg1,arg2,argn
可选。方法参数序列将被传递。
解释uff1a
调用方法可以用来代替另一个对象调用方法时,调用的方法可以改变一个函数对象上下文从初始上下文的thisobj指定一个新的对象。如果没有提供thisobj参数,则全局对象作为thisobj。
解释调用方法的作用是改变默认方法的这一点。调用调用方法的断言是一个方法对象,当调用调用时,这个方法对象变成了调用方法的第一个参数,它非常简单。
新的人();
调用构造函数的人时,它可以处理的电话,使这个人指向P. This.age = 1相当于p.age = 1,所以Zhang P说年龄属性。
希望本文能对大家的javascript程序设计有所帮助。