var name = "global"; var oooo = { name: "ox4", getNameFunc: function(){ var self = this; return function(){ return self.name; }; } }; oooo.getNameFunc()(); // -> "ox4"
或者是在调用时强行定义执行的Object:
var name = "global"; var oo = { name: "oo", getNameFunc: function(){ return function(){ return this.name; }; } } oo.getNameFunc()(); // -> "global" oo.getNameFunc().bind(oo)(); // -> "oo"
总结
Js是一门很有趣的语言,由于它的很多特性是针对HTML中DOM的操作,因而显得随意而略失严谨,但随着前端的不断繁荣发展和Node的兴起,Js已经不再是"toy language"或是jQuery时代的"CSS扩展",本文提到的这些概念无论是对新手还是从传统Web开发中过度过来的Js开发人员来说,都很容易被混淆或误解,希望本文对大家能有所帮助。
您可能感兴趣的文章: