JavaScript中局部变量和成员变量差别

你这个代码错误太多了,我不认为它能运行。
■网友
首先你IIFE少了最外层的括号,第一行和倒数第五行。其次你的b那一行不可能运行正确,obj.prop中的prop名字不能有-符号,会被认为是减号。
■网友
既然是问js的问题,为什么要用jquery和easyui来测试。删掉你的jq和easyui,用js来测试
■网友
感谢邀请,首先说明一下,javascript由于没有类的概念,只有全局变量和局部变量的区别,所以成员变量也就是局部变量。再就是仔细观察了一下您的代码,这段代码实际上无法运行,也就是a和b都无法成功初始化tree,您的_this字面量中不能使用分号来间隔,也许是因为这个原因导致您的疑惑,实际上这段代码如果书写正确的话a和b都是可以初始化的。
■网友
全局变量的作用域是全局性的,即在整个Javascript程序中,全局变量作用处处都存在。定义在”script”块中,在”function”函数外。(2)局部变量的作用域是局部性的,在函数内部或函数参数时定义,作用范围是从函数开始到结尾(注意此处说法)(3)在函数内部,局部变量的优先级比同名的全局变量优先级要高;如果存在与全局变量名称相同的局部变量(包括参数),那么该全局变量将不再起作用。
■网友
var myf = function(){ var _box = \u0026#39;menu-tree\u0026#39;; var _this = { menuTree:\u0026#39;menu-tree\u0026#39;, initTree:function(){ console.log(_this.menuTree,_box) //_box.tree({url:\u0026#39;sys/getMenuTree.do\u0026#39;}); // _this.menuTree.tree({url:\u0026#39;sys/getMenuTree.do\u0026#39;}); b //$(\u0026#39;menu-tree\u0026#39;).tree({url:\u0026#39;sys/getMenuTree.do\u0026#39;}); c } } return _this;}();myf.initTree();JS 有什么坑?这段代码没啥问题啊


    推荐阅读