A函数调用B函数时,为何B函数中的 this 会被识别成A函数中的 this 呢?如果这样,this还有什么用呀?
比如下列代码,Father函数调用Son函数,在Son函数内部,按理说,this应该是表示自已,可是,它却会识别为A函数的this,
有代码为证,这是为什么呢? function Father() {
this.name = 'father';
Son();
} function Son() {
alert(this.name);
}
比如下列代码,Father函数调用Son函数,在Son函数内部,按理说,this应该是表示自已,可是,它却会识别为A函数的this,
有代码为证,这是为什么呢? function Father() {
this.name = 'father';
Son();
} function Son() {
alert(this.name);
}
document 当前显示的文档(该属性本身也是一个对象)
frame 窗口里的一个框架((FRAME>)(该属性本身也是一个对象)
frames array 列举窗口的框架对象的数组,按照这些对象在文档中出现的顺序列出(该属性本身也是一个对象)
history 窗口的历史列表(该属性本身也是一个对象)
length 窗口内的框架数
location 窗口所显示文档的完整(绝对)URL(该属性本身也是一个对象)不要把它与如document.location混淆,后者是当前显示文档的URL。用户可以改变window.location(用另一个文档取代当前文档),但却不能改变document.location(因为这是当前显示文档的位置)
name 窗口打开时,赋予该窗口的名字
opener 代表使用window.open打开当前窗口的脚本所在的窗口(这是Netscape Navigator 3.0beta 3所引入的一个新属性)
parent 包含当前框架的窗口的同义词。frame和window对象的一个属性
self 当前窗口或框架的同义词
status 状态条中的消息
top 包含当前框架的最顶层浏览器窗口的同义词
window 当前窗口或框架的同义词,与self相同 方法 alert() 打开一个Alert消息框
clearTimeout() 用来终止setTimeout方法的工作
close() 关闭窗口
confirm() 打开一个Confirm消息框,用户可以选择OK或Cancel,如果用户单击OK,该方法返回true,单击Cancel返回false
blur() 把焦点从指定窗口移开(这是Netscape Navigator 3.0 beta 3引入的新方法)
focus() 把指定的窗口带到前台(另一个新方法)
open() 打开一个新窗口
prompt() 打开一个Prompt对话框,用户可向该框键入文本,并把键入的文本返回到脚本
setTimeout() 等待一段指定的毫秒数时间,然后运行指令事件处理程序 事件处理程序 Onload() 页面载入时触发
Onunload() 页面关闭时触发
Son()只是一个普通的全局函数,并不是不一个类。
所以只是调用,而不是实例化,所以
this,还是Father()中的this