草庐IT

Math对象

全部标签

javascript - mustache + 嵌套对象

我正在尝试根据其中包含标签的标签列表创建一棵树。这是我使用的JSON示例:{"tags":[{"name":"Myfirsttag","tags":[{"name":"Myfirsttaginsideatag"},{"name":"Mysecondtaginsideatag"}]}]}如果我使用以下mustache模板,它会毫无问题地显示“我的第一个标签”:{{#tags}}{{name}}{{/tags}}然后,使用以下模板,我尝试在第一个标签内显示标签:{{#tags}}{{name}}{{#tags}}{{name}}{{/tags}}{{/tags}}使用此模板,Mustach

javascript - 面向对象与 JavaScript

我有OOP背景。我开始大量使用JavaScript。随着项目的增长,维护它变得越来越困难。在Java中,我应用OOP原则来控制事情。我应该用JavaScript做什么,我应该研究什么以控制JavaScript应用程序? 最佳答案 您也可以将OOP原则应用于Javascript开发。Javascript使用原型(prototype)继承,但这是一个实现细节。概念还是一样的。您熟悉的大多数概念在JavaScript中都有直接的类似物。其他行之有效的方法也适用:1)保持干爽--不要重复自己。重复的代码总是邪恶的。2)Separatecon

javascript - 构造函数总是函数对象吗?

我正在阅读最新的ECMA-262引用,2011年6月5.1版。在8.6.2部分关于[[Construct]]内部属性的表9:Createsanobject.Invokedviathenewoperator.TheargumentstotheSpecOparetheargumentspassedtothenewoperator.Objectsthatimplementthisinternalmethodarecalledconstructors.标准并未规定构造函数必须是Function对象。那么我们可以拥有一个不是函数对象的构造函数对象吗?Linktothestandardasrequ

JavaScript 将函数分配给对象属性

我正在学习JavaScript教程并且我能够完成它。但问题是我不明白其中一条线在做什么。我有一个函数setAge()然后在创建一个susan对象之后我将其中一个属性设置为该对象作为函数的名称?我不明白为什么这样做。如果不这样做,我就不能使用函数/方法吗?教程代码:varsetAge=function(newAge){this.age=newAge;};varsusan=newObject();susan.age=25;susan.setAge=setAge;//howthehelldoesthiswork?//here,updateSusan'sageto35usingthemetho

javascript - 如何判断正在使用哪个 JSON 对象(Crockford 的或其他的)?

我正在使用Crockford的json2.js.当我想进行字符串化时,我会执行JSON.stringify()...效果很好。但是,看过代码的人都知道它遵循现有的JSON对象和属性。我怀疑我遇到的某个问题可能是由于这种尊重。我可以检查JSON对象的属性以查看浏览器是否正在使用Crockford的对象或其他对象?如果能够执行类似alert(JSON.version());的操作就好了 最佳答案 你可以决定一个这样使用:window.JSON||document.write('')这首先检查window.JSON(浏览器支持),如果存在

javascript - 向 JavaScript 对象字面量添加数据

这是我的对象字面量:varobj={key1:value1};如何添加{key1:value1,value2,value3}到obj? 最佳答案 您的对象的值必须是存储单独值的数组或对象,如下所示:{key1:[value1,value2,value3]}或者{key1:newcompositeValue(value1,value2,value3)} 关于javascript-向JavaScript对象字面量添加数据,我们在StackOverflow上找到一个类似的问题:

JavaScript:从对象数组中获取唯一值及其计数?

我如何使用jQuery遍历对象,并获取键的唯一值以及每个值的计数?例如,对于这个数组:varelectrons=[{name:'Electron1',distance:1},{name:'Electron2',distance:1},{name:'Electron3',distance:2},{name:'Electron4',distance:2},{name:'Electron5',distance:2},{name:'Electron6',distance:2},{name:'Electron7',distance:2},{name:'Electron8',distance:2}

Javascript 对象实例与返回函数

javascript之间创建对象有什么区别test=function(a,b){this.calculate=function(){returna+b;}}obj=newtest(1,2);console.log(obj.calculate());和test=function(a,b){return{calculate:function(){returna+b;}}}obj=test(1,2);console.log(obj.calculate());我在不同的情况下都使用过这两种方法,但从未理解过它们之间的区别,我知道后一种方法具有为实例创建函数的开销,但仍然看到它在很多情况下都被使

javascript - Math.round 舍入误差

我想将1.006舍入到两位小数,期望输出为1.01当我做varnum=1.006;alert(Math.round(num,2));//Outputs1alert(num.toFixed(2));//Output1.01同样,varnum=1.106;alert(Math.round(num,2));//Outputs1alert(num.toFixed(2));;//Outputs1.11所以每次都使用toFixed()是否安全?toFixed()是否跨浏览器投诉?请给我建议。P.S:我尝试在堆栈溢出中搜索类似的答案,但找不到正确的答案。编辑:为什么1.015返回1.01而1.045

javascript - 窗口对象 (window.something = something) 在 JavaScript 中做什么?

我不知道你是否需要查看完整代码,但我已经看到一些插件可以做到这一点:window.dataValidate=dataValidate这是否将“dataValidate”添加到窗口对象,或者它是如何工作的? 最佳答案 Doesthisadd'dataValidate'tothewindowobject是的,会的。例如,如果您在另一个范围内;functionfoo(){varbar=4;window.bar=bar;}您现在已经将bar设为全局,并且可以从任何地方访问它。如果没有window.bar=bar,您只能在foo()中访问它。