js问答题 汇总

news/2024/7/19 15:08:23 标签: js

1、this指向、闭包、全局/局部变量

js javascript">js-keyword">var w=js-number">100;
js-function">js-keyword">function js-title">f1js-params">(){
    js-function">js-keyword">function js-title">f2js-params">(){  js-comment">//严格来说不算闭包,并没有调用局部变量;
        document.write(js-keyword">this.w);
    }
    js-keyword">return f2;
}
f1()();  js-comment">//100 ,this指向问题:window调用f2所以this指向window,this.w查找全局中的w

js-comment">// ---------------分割线------------------

js-keyword">var w=js-number">100;
js-function">js-keyword">function js-title">f1js-params">(){
    js-keyword">var w=js-number">101; js-comment">//此处的w为局部变量w
    js-function">js-keyword">function js-title">f2js-params">(){
        document.write(js-keyword">this.w);
    }
    js-keyword">return f2;
}
f1()();  js-comment">//100  ,this指向问题:window调用f2所以this指向window,this.w查找全局中的w,并没有涉及闭包中的f2调用f1的局部变量

js-comment">// ---------------分割线------------------

js-keyword">var w=js-number">100;
js-function">js-keyword">function js-title">f1js-params">(){
    js-keyword">var w=js-number">101; js-comment">//此处的w为局部变量w
    js-function">js-keyword">function js-title">f2js-params">(){
        document.write(w);
    }
    js-keyword">return f2;
}
f1()();  js-comment">//101  ,闭包问题:闭包f2调用父函数f1中的局部变量w

js-comment">// ---------------分割线------------------

js-keyword">var w=js-number">100;
js-function">js-keyword">function js-title">f1js-params">(){
    w=js-number">101;  js-comment">//全局变量,当f1执行时,会给外部的全局变量w重新复制为101
    js-function">js-keyword">function js-title">f2js-params">(){
        document.write(js-keyword">this.w);
    }
    js-keyword">return f2;
}
f1()(); js-comment">//101  ,this指向问题:window调用f2所以this指向window,this.w查找全局中的w,而全局变量w被f1执行时重新复制为101

js-comment">// ---------------分割线------------------

js-keyword">var w=js-number">100;
js-function">js-keyword">function js-title">f1js-params">(){
    js-keyword">this.w=js-number">102;   js-comment">//f1执行时,window调用f1,this指向window,所以给全局变量w重新赋值
    js-function">js-keyword">function js-title">f2js-params">(){
        document.write(js-keyword">this.w);
    }
    js-keyword">return f2;
}
f1()();  js-comment">//102  ,this指向问题:window调用f2所以this指向window,this.w查找全局中的w

http://www.niftyadmin.cn/n/1147804.html

相关文章

中国雅虎公关总监王彤:人类在迁徙

“人类在迁徙。”中国雅虎公关总监王彤认为,现在的互联网正成为着这人类的永恒话题的又一次履新,他表示,人们的日常生活、学习、工作和情感交流,会越来越多的借助网络来实现。 随着互联网的发展,网络已经不单纯像电视…

深度资讯|饿了么寻找业绩新引擎,引入650家商超对标京东到家

文 | 36氪每日商业精选饿了么寻找业绩新引擎,引入650家商超对标京东到家 据《北京商报》消息,自1月中旬起,大润发、家乐福、7-11等超过650家商超品牌上线饿了么。到2月1日,饿了么App将对“超市”入口进行升级,直接挪到…

vue多页面配置

多页面案例 用 vue-cli安装 初始化一个vue单页面项目,然后做如下修改: 1、在 package.json 文件里添加一个依赖 glob ,然后执行 npm install "devDependencies": {//...."webpack-merge": "^4.1.0","glob":&…

2019年川甘青三省三县迎新春文艺演出在四川阿坝县举行

活动现场。 舒琼漫 摄 活动现场。 舒琼漫 摄 中新网成都1月30日电 (舒琼漫)2019年“共画同心圆唱响新时代”暨川甘青三省三县(久治、玛曲、阿坝)迎新春文艺演出活动于30日在四川省阿坝州阿坝县举行。阿坝县800余名干部群众、驻县武警官兵欢聚一堂,共迎新春佳节。活动…

四大唱片公司诉百度搜狐侵权索赔亿元

昨天,记者从北京市第一中级人民法院获悉,环球唱片有限公司等四家唱片公司将百度、搜狐起诉至法院,以侵犯录音制品信息网络传播权为由向百度、搜狐索赔共计1亿1600万元。 互联网音乐搜索一直官司不断,包括环球、华纳在内的七大唱…

【vscode】下载、配置、快捷键、插件

目录1、vscode 下载安装2、vscode创建vue模板,添加自定义snippet(代码段)3、配置:使用Tab键展开Emmet缩写4、vscode 常用快捷键5、插件1、vscode 下载安装 进入官网下载安装 点此进入官网 2、vscode创建vue模板,添加…

idea调试jdk1.8源码(最新)

我们发现如果,直接用idea点项目jdk源码进去后发现自己不能注释说明,非常麻烦,不便阅读记录于是:1.在安装的jdk1.8路径下,找到src.zip和javafx-src.zip压缩文件 ,解压:2.新建一个简单的java项目&…

美国土安全部推曼哈顿计划 维护网络安全

4月10日消息,美国国土安全部部长迈克尔切尔托夫(Michael Chertoff)周二在旧金山召开的“安全信息大会( RSA Conference)”上表示,该部将启动一个网络安全“曼哈顿计划”。切尔托夫称网络战争和网络恐怖主义…