JavaScript一些细节

删除数组中的元素

你或许已经知道,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;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容