javascript Array.slice方法参数
伊谢尔伦
伊谢尔伦 2017-04-10 14:31:29
0
4
872

看到的教程或者网上文章文档,都说slice(start,[end])其中参数start必须,但是测试发现不指定start也可以,是有新的标准么?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

reply all (4)
伊谢尔伦

看文档请认准MDN牌,M~D~N,我看行~

If begin is omitted, slice begins from index 0. -Array.prototype.slice()

    伊谢尔伦

    请看MDN文档~

    If begin is omitted, slice begins from index 0.

      洪涛

      楼上说的是mdn上Array.prototyep.slice, 可能楼主指的是 msdn 上 array.slice. 是一个IE类浏览器和W3C类标准浏览器的在js脚本方面的差异。

      不要在乎现象,而要找到问题的本质。

        左手右手慢动作

        啊哈! 喜欢扣源代码的来了
        v8 builtins.cc中

        BUILTIN(ArraySlice) { //.... ASSERT(len >= 0); int n_arguments = args.length() - 1; // Note carefully choosen defaults---if argument is missing, // it's undefined which gets converted to 0 for relative_start // and to len for relative_end. int relative_start = 0; //<-- 看这里看这里 int relative_end = len; if (n_arguments > 0) { Object* arg1 = args[1]; if (arg1->IsSmi()) { relative_start = Smi::cast(arg1)->value(); } else if (!arg1->IsUndefined()) { return CallJsBuiltin(isolate, "ArraySlice", args); } if (n_arguments > 1) { Object* arg2 = args[2]; if (arg2->IsSmi()) { relative_end = Smi::cast(arg2)->value(); } else if (!arg2->IsUndefined()) { return CallJsBuiltin(isolate, "ArraySlice", args); } } } //.... }
          Latest Downloads
          More>
          Web Effects
          Website Source Code
          Website Materials
          Front End Template
          About us Disclaimer Sitemap
          php.cn:Public welfare online PHP training,Help PHP learners grow quickly!