This question already has answers here:
What is the difference between these two code samples?
(3个答案)
7年前关闭。
选项1:
选项2:
问题:
这两个代码都可以工作。但是它们之间有什么区别?在
在函数声明之前,您将收到一个错误。但是,在您的第二个示例中,该函数移到了封闭范围的顶部,已声明并可以使用(悬挂)。
http://www.sitepoint.com/back-to-basics-javascript-hoisting/
(3个答案)
7年前关闭。
选项1:
<script>
var myObject = function(){
this.iAm = 'an object';
this.whatAmI = function(){
alert('I am ' + this.iAm);
};
}
var myNewObject = new myObject();
myNewObject.whatAmI();
</script>
选项2:
<script>
function myObject(){
this.iAm = 'an object';
this.whatAmI = function(){
alert('I am ' + this.iAm);
};
};
var myNewObject = new myObject();
myNewObject.whatAmI();
</script>
问题:
这两个代码都可以工作。但是它们之间有什么区别?在
OOP
中进行js
编码时,哪种方法更好? 最佳答案
第一个示例不会被吊起。在第二个示例中,该函数将被提升。
在您的示例中,使用选项1(未吊装):
如果您调用此代码:
var myNewObject = new myObject();
myNewObject.whatAmI();
在函数声明之前,您将收到一个错误。但是,在您的第二个示例中,该函数移到了封闭范围的顶部,已声明并可以使用(悬挂)。
http://www.sitepoint.com/back-to-basics-javascript-hoisting/
关于javascript - 这两种JS编码风格之间有什么区别? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17082741/
10-09 01:58