JavaScript一些细节

作者: 一口咖啡一口茶 | 来源:发表于2015-10-09 09:45 被阅读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;
        }
    };
    

    相关文章

      网友评论

        本文标题:JavaScript一些细节

        本文链接:https://www.haomeiwen.com/subject/fcsncttx.html