到目前为止,我看到了三种在JavaScript中创build对象的方法,哪种方式最适合创build对象,为什么? 我还看到,在所有这些例子中,关键字“var”在属性之前没有被使用,为什么? 没有必要在属性的名称之前声明“var”,因为它提到Properties是variables。 我忘了再问一件事: 在方法2和方法3中,对象的名称是大写的,在方法1中,对象的名称是小写的…我们应该使用什么样的对象名称? 方法1 function person(fname,lname,age,eyecolor) { this.firstname=fname; this.lastname=lname; this.age=age; this.eyecolor=eyecolor; } myFather=new person("John","Doe",50,"blue"); document.write(myFather.firstname + " is " + myFather.age + " years old."); 方式2 var Robot = { metal: "Titanium", killAllHumans: function() { alert("Exterminate!"); } }; Robot.killAllHumans(); 方式3(使用数组语法的JavaScript对象): var NewObject = {}; NewObject['property1'] = value; NewObject['property2'] = value; NewObject['method'] = function(){ […]
为什么使用'cls'而不是'self'? 任何帮助赞赏
如果我有一个string数组,我可以使用.join()方法来获取一个string,每个元素用逗号分隔 – 就像这样: ["Joe", "Kevin", "Peter"].join(", ") -> "Joe, Kevin, Peter" 我有一个对象数组,我想对其中的值执行类似的操作; 所以从 [ {name: "Joe", age: 22}, {name: "Kevin", age: 24}, {name: "Peter", age: 21} ] 只在name属性上执行join方法,以实现与以前相同的输出。 目前我有以下function: function joinObj(a, attr) { var out = []; for (var i=0; i<a.length; i++) { out.push(a[i][attr]); } return out.join(", "); } 这段代码没有什么问题,它可以工作,但突然之间,我已经从一个简单,简洁的代码行变成了一个非常必要的function。 是否有更简洁,更理想的写作方式?
我正在使用jQuery,我想检查页面中是否存在元素。 我写了下面的代码,但它不工作: if($("#btext" + i) != null) { //alert($("#btext" + i).text()); $("#btext" + i).text("Branch " + i); } 我如何检查元素的存在?
我怎样才能把一个对象在Java中的int?
我们有两个PHP5对象,并希望合并一个的内容到第二个。 它们之间没有子类的概念,因此下面的主题中描述的解决scheme不适用。 如何将PHP对象复制到不同的对象types中 //We have this: $objectA->a; $objectA->b; $objectB->c; $objectB->d; //We want the easiest way to get: $objectC->a; $objectC->b; $objectC->c; $objectC->d; 备注: 这些是对象,而不是类。 这些对象包含相当多的字段,所以foreach会很慢。 到目前为止,我们考虑将对象A和B转换为数组,然后在重新转换为对象之前使用array_merge()合并它们,但是如果这样我们不能说我们感到自豪。
我想编写一个通用的error handling程序,它会捕获代码中任何实例抛出的自定义错误。 当我没有像下面的代码throw new Error('sample') try { throw new Error({'hehe':'haha'}); // throw new Error('hehe'); } catch(e) { alert(e); console.log(e); } 日志在Firefox中显示为Error: [object Object] ,我无法parsing对象。 对于第二次throw日志显示为: Error: hehe 而当我做到了 try { throw ({'hehe':'haha'}); } catch(e) { alert(e); console.log(e); } 控制台显示为: Object { hehe="haha"}其中我能够访问错误属性。 有什么不同? 代码中看到的差异是什么? 像string将只是作为string和对象作为对象传递,但语法会不同? 我还没有探讨抛出错误对象…我只做了扔string。 除了上面提到的两种方法还有别的方法吗?
我试图得到: document.createElement('div') //=> true {tagName: 'foobar something'} //=> false 在我自己的脚本中,我以前只是使用这个,因为我从来不需要tagName作为属性: if (!object.tagName) throw …; 所以对于第二个对象,我提出了以下作为一个快速解决scheme – 主要工作。 ;) 问题是,这取决于浏览器执行只读属性,这不是所有的。 function isDOM(obj) { var tag = obj.tagName; try { obj.tagName = ''; // Read-only for DOM, should throw exception obj.tagName = tag; // Restore for normal objects return false; } catch (e) { return true; } […]
可能重复: 如何从一个JavaScript对象中删除一个属性 我怎样才能从一个JavaScript对象中删除一个项目? 喜欢这个: var test = {'red':'#FF0000', 'blue':'#0000FF'}; test.remove('blue');
我想在JavaScript中看到对象的结构(用于debugging)。 有没有什么类似于PHP中的var_dump?