
js基础
sMoom
精诚所致,金石为开。
展开
-
toLocaleString( )和toString( )区别
《javascript高级程序设计》解释:“toLocaleString( )返回对象的字符串表示,该字符串与执行环境的地区对应;toString( )返回对象的字符串表示;” 感觉还是不太好理解......来看几个实例:var a = 6666;a.toLocaleString();//"6,666"a.toString();//"6666"可以看到,当数字是三位以上时,会原创 2018-01-04 22:12:55 · 2657 阅读 · 0 评论 -
关于js中函数参数“按值传递”的理解
解释:把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。首先看参数传递为基本类型的情况:function addTen(num){ num += 10; return num; }var count = 20;var result = addTen(count);alert(count); //20alert(result); //30这种情原创 2018-01-05 17:22:14 · 240 阅读 · 0 评论 -
js中getter和setter
在学习Vue计算属性时,有一句“计算属性默认只有 getter ,不过在需要时你也可以提供一个 setter”。getter和setter到底是什么?于是我查找了资料:在Es5中可以使用getter和setter部分改写默认操作,但是只能应用在单个属性上,无法应用在整个对象上。getter是一个隐藏函数,会在获取属性值时调用。setter也是一个隐藏属性,会在设置属性值时调用。例子:原创 2018-01-15 16:21:07 · 867 阅读 · 0 评论 -
原生js中apply()和call()
每个函数都包括两个非继承而来的方法:apply()和call()。两者用途都是在特定的作用域中调用函数,等于重新设置了函数体内this对象的值。两者区别仅在于接收参数方式不同,apply()第一个参数是调用apply的函数运行的作用域,的第二个参数可以是Array的实例(数组),也可以是arguments对象,call()第一个参数是this的值没有变化,而其余参数都直接传递给函数(也就是逐个原创 2018-01-08 17:05:12 · 341 阅读 · 0 评论 -
js的this关键字
(转自阮一峰老师博客)this是javascript的一个关键字。它代表函数运行时,自动生成的一个内部对象,在函数内部使用。随着函数使用场合不同,this的值会发生变化。但总的原则是:this指向的是调用函数的那个对象。四种情况下的this:一、纯粹的函数调用这是函数的最通常用法,属于全局性调用,this就代表全局对象Global。var x = 1; func转载 2018-01-15 20:31:48 · 235 阅读 · 0 评论 -
js中数组与对象的遍历
一、数组的遍历:首先定义一个数组 arr=['snow','bran','king','nightking'];1、for循环,需要知道数组的长度;2、foreach,没有返回值,可以不知道数组长度;arr.forEach(function(ele,index){console.log(index);console.log(ele)})3、map函数,遍历数组每个元素转载 2017-12-22 11:11:21 · 741 阅读 · 0 评论 -
由js逻辑“与”和“或”到强制类型转换( type coercion)
逻辑与操作符属于短路操作符,即如果第一个操作数能够决定结果(为false),那么就不会对第二个操作数求值。(1).对于布尔值,逻辑与是非常简单的,只要有一个false,就返回false;(2).逻辑运算符操作对象遵循从左到右的顺序来判断,逻辑与操作符(&&)先判断第一个数,如果第一个数的逻辑判断是true,则还需判断第二个数,结果输出第二个操作数;如果第一个数能决定结果(即为fal原创 2018-01-05 00:03:26 · 3024 阅读 · 0 评论 -
javascript的常见注意点
作者:CarterLihttps://segmentfault.com/a/1190000012730162检查一个变量是否为对象之前,首先判断其值是否为 null虽然不愿承认,JS 标准说:typeof null === 'object'// true毋庸置疑的, null 不具备作为对象类型的基本特征,是原始类型。这是一个广为人知的 JS 的 bug,,它从 JS 诞生开始就存在,从未、而且永...转载 2018-02-24 10:29:56 · 197 阅读 · 0 评论 -
代码片段
1、数组合并有时候用concat并不好,因为原先两个数组不变,而返回新的数组,进行多次合并的时候,会很浪费内存;用for循环的话,显得臃肿:for(i in b){a.push(b[i])};一行代码:a.push.apply(a,b) 例如:a.push.apply(a,[1,2,3]);...原创 2018-03-29 16:18:00 · 299 阅读 · 0 评论