制作链接列表类:
function LinkedList(){
...
有什么区别:
this.addNode = function(data){
...
和
addNode: function(data){
...
答案 0 :(得分:2)
这会在对象上创建一个属性(假设this
引用一个对象)
this.addNode = function(data) { ...
这是一个赋值表达式,如果它本身就是一个,那么它就包含一个语句。
另一方面,这是对象文字表达式的一部分:
addNode: function(data) { ...
它只在对象文字中有意义,它看起来像:
var someObject = {
property1: value1,
property2: value2,
// ...
};
从更广泛的意义上说,比较两者并没有多大意义;在某种程度上,他们是以两种不同的方式做同样的事情,但是他们在不相交的情境中是有意义的。第一种是在现有对象上添加或重置属性的方法,而第二种方法是在创建新对象时设置属性。