var a=[]; 和 var a=new Array(); 的区别,为什么前者效率高

因为 JSON格式的语法是引擎直接解释的。而new Array 则需要调用Array的构造器。还有就是
1.当你需要将一个数字转化为字符串时可以这样定义:var s=""+1; 这样的转化最快。
2.当你定义一个对象类型时:var o={}; 而已 var o=new Object();道理是同样,new Object()需要调用Object的构造器。
3.在js中执行字符串替换时,或查找字符串,需要进行循环时,可以考虑使用正则,速度更快。
4.尽可能的少定义、使用全局变量

var a=[]; 和 var a=new Array(); 的区别,为什么前者效率高,布布扣,bubuko.com

时间: 2024-10-23 13:21:12

var a=[]; 和 var a=new Array(); 的区别,为什么前者效率高的相关文章

关于var函数作用域,闭包与let的区别应用,(前端网备份)

var a = [];for (var i = 0; i < 10; i++) {a[i] = (function(j){return function(){ console.log(j); };})(i);}a[7](); var b = []; for (let i = 0; i < 10; i++) { b[i] = function(){ console.log(i); }; } b[7](); var pubvar = 1; 这两个结果是一样的 关于闭包的varfunction cr

【转载】在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别

原文链接:http://www.2cto.com/kf/201204/128406.html[侵删] Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的 Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的.可以正常运行的代码并不代表是合适的代码. var num = 1: 是在当前域中声明变量. 如果在方法中声明,则为局部变量(local var

Js变量定义——fn里 var与不var的区别

js运行时内置了一个Global对象. 这个Global对象跟运行环境有关.在浏览器运行环境中.Global就是window对象.在nodejs中.Global对象是global对象. 当你在浏览器环境中,直接使用一个未经定义的变量,例如foo=123;那么foo这个变量自动声明为全局变量.变量引用自动挂载到了Global对象,即window对象上,使用上等同于全局对象的属性,你可以试试来验证. 如: <!DOCTYPE html> <html lang="en"&g

js添加var和不加var区别

var 声明的变量,作用域是当前 function 没有声明的变量,直接赋值的话, 会自动创建变量 但作用域是全局的. //----------------- function doSth() { a = "AAA"; } doSth(); // 执行一次 doSth alert(a); // 可以看到 "AAA" //----------------- 如果用了 var //----------------- function doSth() { var a =

在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别,== 和 ===的区别

1. 在Javascript中 声明时用"var"与不用"var"的区别 Javascript声明变量时 var a = 111; 和 a = 111; 两种方式一样吗? var a = 11;function test4(){    var a = 22; } test4(); console.log(a); 结果是什么呢? 11 这个好理解, 函数内的var a声明是内部变量,这时结果是第一个a的值. 变动一下如下: var abc = 11;function 

在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别

Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的.可以正常运行的代码并不代表是合适的代码. var num = 1: 是在当前域中声明变量. 如果在方法中声明,则为局部变量(local variable):如果是在全局域中声明,则为全局变量. 而 num = 1: 事实上是对属性赋值操作.首先,它会尝试在当前作用域链(如在方法中声明,则当前作用域链代表全局作用域和方法局部作用域etc...)中解析 num: 如果在任何

【转】Javascript全局变量var与不var的区别

相信你对全局变量一定不陌生,在函数作用域里用a=1这种形式定义的变量会是一个全局变量,在全局作用域里,用下面3种形式都可以创建对全局可见的命名: 1 <script> 2 var a = 1; 3 b = 2; 4 window.c = 3; 5 </script> 对于b=2这种方式, 它其实和c是一样的,在执行这个赋值语句的时候,会沿着作用域链寻找名字叫做b的变量,一直找到作用域链的顶端还没有找到,于是给window添加一个属性b然后赋值. var与不var有两个区别: 1 v

var foo= {} ;foo.method() 和 单例模式有什么区别

var Foo={} Foo.method = function() { var i = 0; return { a:function(){ console.log('aa', i++); }, b:function(){ console.log('bb', i++); } } } Foo.method().a(); Foo.method().b(); var bar=(function(){ var instance; function init(){ var i =0; return { a

JavaScript中变量声明有var和没var的区别

本文来论述JavaScript中变量声明有var和没var的区别,关于Js中的变量声明的作用域是以函数为单位,所以我们经常见到避免全局变量污染的方法是 (function(){ ... })(): 在函数内部,有var和没var声明的变量是不一样的.有var声明的是局部变量,没var的,声明的全局变量. 在全局作用域内声明变量时,有var 和没var看起来都一样,我们知道,声明的全局变量,就是window的属性,究竟是否一样,我们通过ECMAScrpit5提供的属性的特性查询方法,来发现之间的区