前端开发技术文

JavaScript一些细节

2015-10-09  本文已影响81人  一口咖啡一口茶

删除数组中的元素

你或许已经知道,js中要向数组中增加元素,需要用的是push方法。没有和其他语言中类似的add方法,是不是很不适应?

但是要是告诉你,从数组中删除元素的方法没有,你是不是简直不敢相信!你如果要说用到delete关键字,那么给你看一个吓死你的:

var s=[1,2,3,4];
delete s[1];

这样操作之后,你猜猜操作结果是怎样的?

不买关子,结果是这样的:

[1,udefind * 1,3,4]

被删除的元素,其实只是将这个元素的值删除了,但是并没有改变这个数组。即没有把这个数组变成[1,3,4],而如果需要变成这样,则需要用到splice方法:

s.splice(1,1);

关于更多,请查看 文档

注意:splice方法的本意就是拼接,替换元素。这里用到完成删除,只是将拼接的第三个参数为空,达到目的。

严格模式

'use strict';

不知你是否看到别人写带js文件,第一行总是出现这一行匿名的字符串。这其实是ECMAscript 5中引入的严格模式!

传统的js代码执行模式,也就是你不在第一行声明这个匿名字符串时,是正常模式。这个模式中有很多Javascript非常灵活的特性(也非常蛋疼)。比如,如果一个变量没有使用var关键字申明,则是一个全局变量。很让人容易错乱的语法糖。

更多相关内容,查看

geter&seter

js的对象也是有geter和seter,这种方式可以灵活的运用到,比如当一个属性只是可读的。这时便可以使用geter方法来取的元素。

下面是一个geter和seter的例子:

var obj = {
    _x : 1,
    get getX(){
        return this._x;
    },
    set setX(x){
        this._x = x;
    }
};
上一篇下一篇

猜你喜欢

热点阅读