亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問slice()這個語法的詳細規則是什么?網上說的不是很清晰

請問slice()這個語法的詳細規則是什么?網上說的不是很清晰

qq_唔叫咩_0 2018-05-02 22:11:47
var str="阿飛老師";????????alert(str.slice(-2,5));//老??
查看完整描述

3 回答

已采納
?
碼農2號

TA貢獻151條經驗 獲得超48個贊

slice()切割數組和字符串時候,有兩個參數。

第一個參數是從哪里切割開始,如果是正數,則從前往后數,如果是負數,則從后往前數。這個參數必須寫。

第二個參數是切割到哪里,如果是正數,則從前往后數,如果是負數,則從后往前數。這個參數是可選的,就是說可寫可不寫,不寫的話默認切割到最大值。

有些特例,類似你這個5,明顯大于字符串字數,所以默認是切割到最后。所以最后輸出的是‘老師’,而不是你寫的‘老’。

如果你想切割出來一個‘老’,alert(str.slice(-2,3));

然后還有個特例,就是第二個參數指向在第一個參數的前面,這個時候默認切割的是空的。

我用大白話說的,我想你認真讀一下,再試一下,應該就會了。

查看完整回答
反對 回復 2018-05-03
?
我吃西瓜很快

TA貢獻39條經驗 獲得超13個贊

str.slice(beginSlice[,?endSlice])

參數

  • beginSlice

  • 從該索引(以 0 為基數)處開始提取原字符串中的字符。如果值為負數,會被當做?sourceLength + beginSlice?看待,這里的sourceLength 是字符串的長度?(例如,?如果beginSlice?是?-3 則看作是:?sourceLength - 3)

  • endSlice

  • 可選。在該索引(以 0 為基數)處結束提取字符串。如果省略該參數,slice會一直提取到字符串末尾。如果該參數為負數,則被看作是 sourceLength + endSlice,這里的 sourceLength 就是字符串的長度(例如,如果 endSlice 是 -3,則是, sourceLength - 3)。

描述

slice()?從一個字符串中提取字符串并返回新字符串。在一個字符串中的改變不會影響另一個字符串。也就是說,slice?不修改原字符串,只會返回一個包含了原字符串中部分字符的新字符串。

注意slice()?提取的新字符串包括beginSlice不包括?endSlice。

例1:str.slice(1, 4)?提取新字符串從第二個字符到第四個?(字符索引值為?1, 2, 和?3)。

例2:str.slice(2, -1)?提取第三個字符到倒數第二個字符。

例子

使用?slice()?創建一個新的字符串

下面例子使用?slice()?來創建新字符串:

var?str1?=?'The?morning?is?upon?us.';
var?str2?=?str1.slice(4,?-2);
console.log(str2);?//?OUTPUT:?morning?is?upon?u

給?slice()?傳入負值索引

下面的例子在?slice()?使用了負值索引:

var?str?=?'The?morning?is?upon?us.';
str.slice(-3);?????//?returns?'us.'
str.slice(-3,?-1);?//?returns?'us'
str.slice(0,?-1);??//?returns?'The?morning?is?upon?us'


查看完整回答
1 反對 回復 2018-05-03
?
qq_唔叫咩_0

TA貢獻2條經驗 獲得超0個贊

理解就是從倒數開始到正數結束,不知道是否有誤???

查看完整回答
反對 回復 2018-05-02
  • 3 回答
  • 0 關注
  • 1866 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號