为甚麽下面2段js执行结果不一样?
时间:2011-12-07
来源:互联网
JScript code
JScript code
<button id="click">click me</button>
HTML code
第一个结果 是"It works!",第二个"Nope."。
(function() { var showAnswer, x; x = true; showAnswer = function() { x = x; return alert(x ? 'It works!' : 'Nope.'); }; $(function() { return $('#click').click(function() { return showAnswer(); }); }); }).call(this);
JScript code
(function() { var showAnswer, x; var _this = this; x = true; showAnswer = function(x) { if (x == null) x = x; return alert(x ? 'It works!' : 'Nope.'); }; $(function() { return $('#click').click(function() { return showAnswer(); }); }); }).call(this);
<button id="click">click me</button>
HTML code
第一个结果 是"It works!",第二个"Nope."。

作者: funnyone 发布时间: 2011-12-07
变量和赋值问题了。。你把function(x)这里面的x换成别的变量你就会发现其实是一样的
(function () {
var showAnswer, x;
var _this = this;
x = true;
showAnswer = function (a) {
if (a == null) {
a = x;
return alert(a ? 'It works!' : 'Nope.');
}
};
$(function () {
return $('#click').click(function () {
return showAnswer();
});
});
}).call(this);
(function () {
var showAnswer, x;
var _this = this;
x = true;
showAnswer = function (a) {
if (a == null) {
a = x;
return alert(a ? 'It works!' : 'Nope.');
}
};
$(function () {
return $('#click').click(function () {
return showAnswer();
});
});
}).call(this);
作者: zsx841021 发布时间: 2011-12-07
function(x) {
if (x == null) x = x;
参数x并不是外部的x,并且x=x赋值的x也不是外部的x而是参数x,所以第二个x为null,即使你判断了x==null的时候在x=x还是null
if (x == null) x = x;
参数x并不是外部的x,并且x=x赋值的x也不是外部的x而是参数x,所以第二个x为null,即使你判断了x==null的时候在x=x还是null
作者: chchawen 发布时间: 2011-12-07
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28