Javascript 是“的that.push和that.pop元素吗?”;即={}";对象文字?
使用“那个”有什么特别的原因吗 关于使用“that”的注意事项: 我找到了一条解释“那个”的线索:。其中一位响应者说:“按照惯例,我们创建了一个私有This变量。这用于使私有方法可以使用该对象。这是ECMAScript语言规范中的一个错误的解决方法,该错误导致内部函数的设置不正确。”因此,我很困惑这里的“that”是否有任何特殊用途 另外,为什么不简单地指定一个var名称来替换那个.push呢?多谢各位Javascript 是“的that.push和that.pop元素吗?”;即={}";对象文字?,javascript,arrays,Javascript,Arrays,使用“那个”有什么特别的原因吗 关于使用“that”的注意事项: 我找到了一条解释“那个”的线索:。其中一位响应者说:“按照惯例,我们创建了一个私有This变量。这用于使私有方法可以使用该对象。这是ECMAScript语言规范中的一个错误的解决方法,该错误导致内部函数的设置不正确。”因此,我很困惑这里的“that”是否有任何特殊用途 另外,为什么不简单地指定一个var名称来替换那个.push呢?多谢各位 var LinkedList = function(e){ var that = {}
var LinkedList = function(e){
var that = {}, first, last;
that.push = function(value){
var node = new Node(value);
if(first == null){
first = last = node;
}else{
last.next = node;
last = node;
}
};
that.pop = function(){
var value = first;
first = first.next;
return value;
};
var Node = function(value){
this.value = value;
var next = {};
};
return that;
};
问题1:…(2)是对象数组。是这样吗
没有。正如Zack所评论的那样,#2将一个对象分配给x变量
问题2:假设我的理解就在上面
不幸的是,事实并非如此
有人能解释一下为什么下面的代码要创建that.push和[that.pop],然后将它们存储在that对象中----that={}
代码将为该对象指定一个对象。对象没有push或pop方法。这种设计显然要求LinkedList返回的对象具有这样的方法,因此添加了这些方法
问题1:…(2)是对象数组。是这样吗
没有。正如Zack所评论的那样,#2将一个对象分配给x变量
问题2:假设我的理解就在上面
不幸的是,事实并非如此
有人能解释一下为什么下面的代码要创建that.push和[that.pop],然后将它们存储在that对象中----that={}
代码将为该对象指定一个对象。对象没有push或pop方法。这种设计显然要求LinkedList返回的对象具有这样的方法,因此添加了这些方法
问题1:…(2)是对象数组。是这样吗
没有。正如Zack所评论的那样,#2将一个对象分配给x变量
问题2:假设我的理解就在上面
不幸的是,事实并非如此
有人能解释一下为什么下面的代码要创建that.push和[that.pop],然后将它们存储在that对象中----that={}
代码将为该对象指定一个对象。对象没有push或pop方法。这种设计显然要求LinkedList返回的对象具有这样的方法,因此添加了这些方法
问题1:…(2)是对象数组。是这样吗
没有。正如Zack所评论的那样,#2将一个对象分配给x变量
问题2:假设我的理解就在上面
不幸的是,事实并非如此
有人能解释一下为什么下面的代码要创建that.push和[that.pop],然后将它们存储在that对象中----that={}
代码将为该对象指定一个对象。对象没有push或pop方法。这种设计显然要求LinkedList返回的对象具有这样的方法,因此添加了这些方法
(1) 是字符串数组
是的,没错。但是,由于Javascript中没有严格的类型,因此更好的描述应该是包含字符串的数组。数组不限于包含字符串,因为它创建时只包含字符串
(2) 是对象的数组
不,那不对。它是一个对象,所以它包含属性。每个属性都是一个名称和一个值
对象不是数组,但数组实际上是对象。数组可以有项,但也可以有命名属性
LinkedList
函数创建一个对象,该对象具有类似于数组的push
和pop
方法,但项目的存储方式与数组不同
(1) 是字符串数组
是的,没错。但是,由于Javascript中没有严格的类型,因此更好的描述应该是包含字符串的数组。数组不限于包含字符串,因为它创建时只包含字符串
(2) 是对象的数组
不,那不对。它是一个对象,所以它包含属性。每个属性都是一个名称和一个值
对象不是数组,但数组实际上是对象。数组可以有项,但也可以有命名属性
LinkedList
函数创建一个对象,该对象具有类似于数组的push
和pop
方法,但项目的存储方式与数组不同
(1) 是字符串数组
是的,没错。但是,由于Javascript中没有严格的类型,因此更好的描述应该是包含字符串的数组。数组不限于包含字符串,因为它创建时只包含字符串
(2) 是对象的数组
不,那不对。它是一个对象,所以它包含属性。每个属性都是一个名称和一个值
对象不是数组,但数组实际上是对象。数组可以有项,但也可以有命名属性
LinkedList
函数创建一个对象,该对象具有类似于数组的push
和pop
方法,但项目的存储方式与数组不同
(1) 是字符串数组
是的,没错。但是,由于Javascript中没有严格的类型,因此更好的描述应该是包含字符串的数组。数组不限于包含字符串,因为它创建时只包含字符串
(2) 是对象的数组
不,那不对。它是一个对象,所以它包含属性。每个属性都是一个名称和一个值
对象不是数组,但数组实际上是对象。数组可以有项,但也可以有命名属性
LinkedList
函数创建一个对象,该对象具有类似于数组的push
和pop
方法,但项目的存储方式不同于数组。如上所述,(2)是一个具有属性的javascript对象,因此不包含标准的推送数组方法