为什么不't "函数说嗨.Alternate () {}"工作
Why doesn't "function sayHi.alternate () {}" work?
我很难理解Javascript中的静态作用域。谁能解释一下下面两个函数的区别?
如果我输入
function sayHi(){
alert("Hi");
}
sayHi.alternate=function(){
alert("Hola");
}
sayHi();
sayHi.alternate();
但是不工作,如果我做
function sayHi(){
alert("Hi");
}
function sayHi.alternate(){
alert("Hola");
}
sayHi();
sayHi.alternate();
照例谢谢
function sayHi.alternate(){
alert("Hola");
}
…会给你一个语法错误。这是因为你不能将你的函数命名为sayHi.alternate
。
然而,因为Javascript中的一切都是对象,包括函数,你可以简单地把你的sayHi
函数作为对象,并添加一个新方法给它:
sayHi.alternate = function(){
alert("Hola");
}
当你写function sayHi.alternate
时,你试图创建一个名为sayHi.alternate
的函数。函数名中不能包含句号,所以sayHi.alternate
是无效的函数名。
当你创建sayHi.alternate= function
时,你在对象sayHi
中创建了一个名为alternate
的函数。
这是无效的javascript:
function sayHi.alternate(){
在以这种方式声明函数时不能分配属性。您只能定义要用于函数的名称。这就是为什么当你将它赋值给对象属性或变量时使用另一种形式。
相关文章:
- Scriptaculous dom:仅加载工作"有时“;
- 我对“;返回true"嵌套函数内部;t工作
- Jquery scrollTop动画不工作"无法读取属性'top'无风
- "此网站似乎使用滚动链接定位效果.这可能不能很好地与异步平移一起工作;
- 无法使Nativescript插件工作"nativescript admob”;
- "npm运行构建:css"不能工作,而当我自己运行脚本时是可以的
- Django,HTML,JS:<img src=“#">可以在HTML中工作,但不能在JS文件中工作
- jQuery css"点击“;不会'更改日历中选定的月份后无法工作
- 无法调用方法“”;getEditResponseUrl"当使用表单ID打开表单时,绑定到工作表的Google
- "键“;jQuery中的对象无法正常工作
- 得到"标签“;标签在Internet Explorer 6中工作(用于单选按钮)
- 如何获得Facebook Like Box"黑暗方案”;正确工作?(背景是透明的.)
- 工作方法:document.getElementById(“ElementName”).style="显示:阻
- "点击“;不会'我不能在手机上工作
- 如何“;(M[key]||(M[key]=[])).push(elem)"工作
- "添加到购物车”;按钮不'由于ReferenceError,无法工作
- 如何"递归AJAX回调”;在JavaScript工作中
- 其中的行“xmlns:ng="http://angularjs.org"`工作/需要
- 如何使工作jquery"“滑动”;在iPad上滚动
- 像在PHP中一样,在jQuery中执行单引号(')和双引号(quot;)的工作