var两种区别? var x = new Number(3)var x = 3请问这两种有何区别?哪种效率高?哪种是规范写法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一种写法是多余的,不推荐。if (new Boolean(false)) alert("和false不是一回事"); 在js中没有必要 var x=3;-- 整型的var y="3"--字符串 <script language="javascript">var x1 = new Number(3) var x = 3 alert(typeof(x1))alert(typeof(x))</script> 这种表示叫字面量能用字面量就用字面量,直观、简单、易读、高效。string - "Hello, World!"number - 123boolean - trueobject - { field: value }function - function a() {}array - [1, 2, 3]regex - /\d+/g 如果声明一个空的等待放数字,是不是下面写法,直观些?var x = new Number; var x = new Number(3) //创建一个Number对象的实例var x = 3 //字面量在脚本中尽量用字面量.new会浪费内存.虽然结果是一样的 if (0) alert("看不到我的.");if (new Number(0)) alert("^_^"); var a = new Number(3); // alert(typeof a); <--- object // alert(typeof a.valueOf()); <--- numbervar b = 4; // alert(typeof b); <--- number!function () { // 修改 Number.prototype.valueOf 方法。 每次调用都 alert 一下。 Number.prototype.oValueOf = Number.prototype.valueOf; Number.prototype.valueOf = function() { alert("(" + this.toString() + ").valueOf()"); return this.oValueOf(); };}();var c = a + b + a + b + a + b; // 会看到三次 "(3).valueOf()"alert(c); // <------ 21!function () { // 再修改 , 让 Number.prototype.valueOf 返回 0; Number.prototype.valueOf = function() { return 0; };}();c = a + b + a + b + a + b;alert(c); // <---- 12a = new Number(3);b = new Number(3);alert(a == b); // <--- false可以看出, Number 对象 是 对数值做了包装。程序如果输要对 Number 的实例进行运算,需要调用其 valueOf() 方法.所以, new Number(*) 不高效,而且因为 object 和 number 值的不同,容易让人迷惑 var x = new Number(3) //创建一个对象 var x = 3 //声明一下 JScript 根据数字值的要求创建 Number 对象。 很少有必要显式创建 Number 对象。Number 对象最主要的用途是将其属性集中到一个对象中,以及使数字能够通过 toString 方法转换为字符串。——以上内容摘自 JScript 参考手册!Web 开发常用手册JScript语言参考.rarhttp://download.csdn.net/source/308916DHTML参考手册.rarhttp://download.csdn.net/source/308913样式表中文手册.chmhttp://download.csdn.net/source/304124 仔细读了一下,发现确实不一样,new Number() 得到滴是对象,可以添加动态属性,而 直接赋值得到滴是 number,属于基本类型,而非 object!结论,无需 Number 对象时直接赋值即可,需要 Number 对象就要 new 一下了,但是需要时候确实不多!示例如下:L@_@Kvar x1 = new Number(3);x1.home = "China";var x2 = 3;x2.home = "TaiWan";alert(x1.home); // Chinaalert(x2.home); // undefined 补充一句,其他两种基本类型,Boolean, String 同理! js 动态创建多个表单元素,删除创建的表单元素 求javascript好书 高分悬赏,分离字符串 这里有真正的高手吗,谁能分析出这个网站数据链接地址?你的水平如何,来试试吧! JScript数组加法请教 如何用javascript改变一个网页的样式表。 javascript有办法没有吧和网页同一个目录地下所有的文件名都得到呢? 请问如何获取昨天的日期??? 大家帮忙看看这段代码有什么问题 谢谢!! 怎么用venkman调试js,我的里面的命令帮助全是乱码?有它的教程吗? 什么意思这个,给我解释下 自定义鼠标样式问题
第一种写法是多余的,不推荐。if (new Boolean(false))
alert("和false不是一回事");
var x=3;-- 整型的
var y="3"--字符串
var x1 = new Number(3)
var x = 3
alert(typeof(x1))
alert(typeof(x))</script>
number - 123
boolean - true
object - { field: value }
function - function a() {}
array - [1, 2, 3]
regex - /\d+/g
var x = new Number;
var x = 3 //字面量在脚本中尽量用字面量.new会浪费内存.虽然结果是一样的
if (0)
alert("看不到我的.");if (new Number(0))
alert("^_^");
var a = new Number(3); // alert(typeof a); <--- object
// alert(typeof a.valueOf()); <--- number
var b = 4; // alert(typeof b); <--- number!function () {
// 修改 Number.prototype.valueOf 方法。 每次调用都 alert 一下。
Number.prototype.oValueOf = Number.prototype.valueOf;
Number.prototype.valueOf = function() {
alert("(" + this.toString() + ").valueOf()");
return this.oValueOf();
};
}();var c = a + b + a + b + a + b; // 会看到三次 "(3).valueOf()"
alert(c); // <------ 21!function () {
// 再修改 , 让 Number.prototype.valueOf 返回 0;
Number.prototype.valueOf = function() {
return 0;
};
}();c = a + b + a + b + a + b;
alert(c); // <---- 12a = new Number(3);
b = new Number(3);
alert(a == b); // <--- false
可以看出, Number 对象 是 对数值做了包装。
程序如果输要对 Number 的实例进行运算,需要调用其 valueOf() 方法.所以, new Number(*) 不高效,而且因为 object 和 number 值的不同,容易让人迷惑
var x = new Number(3) //创建一个对象
var x = 3 //声明一下
JScript 根据数字值的要求创建 Number 对象。 很少有必要显式创建 Number 对象。Number 对象最主要的用途是将其属性集中到一个对象中,以及使数字能够通过 toString 方法转换为字符串。
——以上内容摘自 JScript 参考手册!
Web 开发常用手册JScript语言参考.rar
http://download.csdn.net/source/308916DHTML参考手册.rar
http://download.csdn.net/source/308913样式表中文手册.chm
http://download.csdn.net/source/304124
而 直接赋值得到滴是 number,属于基本类型,而非 object!结论,无需 Number 对象时直接赋值即可,需要 Number 对象就要 new 一下了,但是需要时候确实不多!示例如下:L@_@K
var x1 = new Number(3);
x1.home = "China";var x2 = 3;
x2.home = "TaiWan";alert(x1.home); // China
alert(x2.home); // undefined