Basic JavaScript-freecodecamp

1.JavaScript中的注釋方式有以下兩種:
使用 // 來(lái)告訴JavaScript來(lái)忽略當(dāng)前行的代碼
// This is an in-line comment.
你也可以使用多行注釋來(lái)注釋你的代碼耳贬,以/開(kāi)始,用/來(lái)結(jié)束洒放,就像下面這樣:
/* This is a
multi-line comment */

2.在計(jì)算機(jī)科學(xué)中, data(數(shù)據(jù))就是一切徽千,因?yàn)樗鼘?duì)于計(jì)算機(jī)的意義重大。JavaScript提供七種不同的data types(數(shù)據(jù)類型),它們是undefined(未定義), null(空), boolean(布爾型), string(字符串), symbol(符號(hào)), number(數(shù)字), and object(對(duì)象)。
舉個(gè)栗子, 計(jì)算機(jī)能夠分辨不同的數(shù)字, 例如數(shù)字 12和 strings老虫,"12"和"dog", 或"123 cats", 都是字母的集合。 計(jì)算機(jī)能夠精確地操作數(shù)字茫多, 但是對(duì)于字符串卻無(wú)能為力祈匙。
Variables(變量)允許計(jì)算機(jī)以一種動(dòng)態(tài)的形式來(lái)存儲(chǔ)和操作數(shù)據(jù),通過(guò)操作指向數(shù)據(jù)的指針而不是數(shù)據(jù)本身來(lái)避免了內(nèi)存泄露天揖,以上的七種數(shù)據(jù)類型都可以存儲(chǔ)到一個(gè)變量(variable)中夺欲。
Variables 非常類似于你在數(shù)學(xué)中使用的x,y變量, 這意味著它們都是以一個(gè)簡(jiǎn)單命名的名字來(lái)代替我們賦值給它的數(shù)據(jù)。計(jì)算機(jī)中的variables(變量)與數(shù)學(xué)中的變量不同的是今膊,計(jì)算機(jī)可以在不同的時(shí)間存儲(chǔ)不同類型的變量些阅。
通過(guò)在變量的前面使用關(guān)鍵字var,我們告訴 JavaScript 來(lái)創(chuàng)建或者 declare(聲明)一個(gè)變量,就像這樣:
var ourName;
上面代碼的意思是創(chuàng)建一個(gè)名為ourName的variable(變量)斑唬,在JavaScript中我們使用分號(hào)來(lái)結(jié)束一段聲明市埋。
Variable (變量)的名字可以由數(shù)字、字母恕刘、$ 或者 _組成缤谎,但是不能包含空格或者以數(shù)字為首。

3.在JavaScript中褐着,你可以通過(guò)assignment(分配)操作符把一個(gè)值存儲(chǔ)到變量中坷澡。
myVariable = 5;
把Number數(shù)字5賦給變量myVariable。
賦值過(guò)程是從右到左進(jìn)行的含蓉。所有 = 操作符右邊的值都會(huì)被賦到左邊的變量频敛。
myVar = 5;
myNum = myVar;
數(shù)值 5 被賦給變量 myVar 中, 然后變量 myVar 又賦給變量 myNum 馅扣,這樣子 myNum 變量中的值也是 5 了斟赚。

4.i++;等效于i = i + 1;

5.JavaScript中只有字符串類型,沒(méi)有字符類型岂嗓。那么如何獲取到字符串中的某個(gè)字符呢?
我們通過(guò)[索引] 來(lái)獲得對(duì)應(yīng)的字符鹊碍。
大多數(shù)現(xiàn)代編程語(yǔ)言厌殉,如JavaScript,不同于人類從1開(kāi)始計(jì)數(shù)侈咕。它們是從0開(kāi)始計(jì)數(shù)公罕,這被稱為 基于零 的索引。
例如, 在單詞 "Charles" 中索引0上的字符為 "C"耀销,所以在 var firstName = "Charles" 中楼眷,你可以使用 firstName[0] 來(lái)獲得第一個(gè)位置上的字符。

6.可以把 多維 數(shù)組看作成是一個(gè) 數(shù)組中的數(shù)組。當(dāng)使用[]去訪問(wèn)數(shù)組的時(shí)候罐柳,第一個(gè)[index]訪問(wèn)的是第N個(gè)子數(shù)組掌腰,第二個(gè)[index]訪問(wèn)的是第N個(gè)子數(shù)組的第N個(gè)元素。
例如

var arr = [
    [1,2,3],
    [4,5,6],
    [7,8,9],
    [[10,11,12], 13, 14]
];
arr[0]; // 等于 [1,2,3]
arr[1][2]; // 等于 6
arr[3][0][1]; // 等于 11```

7.index  push()  unshift()  pop()  shift()

8.在一個(gè)函數(shù)內(nèi)聲明的變量张吉,以及該函數(shù)的參數(shù)都是局部變量齿梁,意味著它們只在該函數(shù)內(nèi)可見(jiàn)。
這是在函數(shù) myTest內(nèi)聲明局部變量loc 的最佳例子:

function myTest() {
var loc = "foo";
console.log(loc);
}
myTest(); // "foo"
console.log(loc); // "undefined"```
在函數(shù)外肮蛹,loc 是未定義的勺择。

9.一個(gè)程序中有可能具有相同名稱的 局部 變量 和 全局 變量。在這種情況下伦忠,局部 變量將會(huì)優(yōu)先于 全局 變量省核。
下面為例:

var someVar = "Hat";
function myFun() {
  var someVar = "Head";
  return someVar;
}```
函數(shù) myFun 將會(huì)返回 "Head",因?yàn)?局部變量 優(yōu)先級(jí)更高昆码。

10.在計(jì)算機(jī)科學(xué)中 隊(duì)列(queue)是一個(gè)抽象的數(shù)據(jù)結(jié)構(gòu)气忠,隊(duì)列中的條目都是有秩序的。新的條目會(huì)被加到 隊(duì)列 的末尾未桥,舊的條目會(huì)從 隊(duì)列 的頭部被移出笔刹。
>寫一個(gè)函數(shù) queue ,用一個(gè)數(shù)組arr和一個(gè)數(shù)字item作為參數(shù)冬耿。數(shù)字item添加到數(shù)組的結(jié)尾舌菜,然后移出數(shù)組的第一個(gè)元素,最后隊(duì)列函數(shù)應(yīng)該返回被刪除的元素亦镶。

function queue(arr, item) {
// Your code here
arr.push(item);
var aArr = arr.shift();
return aArr; // Change this line
}
// Test Setup
var testArr = [1,2,3,4,5];
// Display Code
console.log("Before: " + JSON.stringify(testArr));
console.log(queue(testArr, 3)); // Modify this line to test
console.log("After: " + JSON.stringify(testArr));```

11日月、 運(yùn)算符 ==

在高爾夫golf游戲中,每個(gè)洞都有自己的標(biāo)準(zhǔn)桿數(shù)par缤骨,代表著距離爱咬。根據(jù)你把球打進(jìn)洞所揮桿的次數(shù)strokes,可以計(jì)算出你的高爾夫水平绊起。
函數(shù)將會(huì)傳送2個(gè)參數(shù)精拟,分別是標(biāo)準(zhǔn)桿數(shù)par 和 揮桿次數(shù)strokes ,根據(jù)下面的表格返回正確的水平段位虱歪。
par 和 strokes 必須是數(shù)字而且是正數(shù)蜂绎。


Paste_Image.png

無(wú)法通過(guò),一直顯示為"Hole-in-one!"

function golfScore(par, strokes) {
  // Only change code below this line
   if(strokes=1){
    return "Hole-in-one!";
  }else if(strokes<= par - 2){
    return "Eagle";
  }else if(strokes=par-1){
    return "Birdie";
  }else if(strokes=par){
    return "Par";
  }else if(strokes=par+1){
    return "Bogey";
  }else if(strokes=par + 2){
    return "Double Bogey";
  }
  
  else if(strokes>= par + 3){
    return "Go Home!";
  } 
  
  // Only change code above this line
}

// Change these values to test
golfScore(5, 4);

相等操作符笋鄙,正解如下:

function golfScore(par, strokes) {
  // Only change code below this line
   if(strokes==1){
    return "Hole-in-one!";
  }else if(strokes<= par - 2){
    return "Eagle";
  }else if(strokes==par-1){
    return "Birdie";
  }else if(strokes==par){
    return "Par";
  }else if(strokes==par+1){
    return "Bogey";
  }else if(strokes==par + 2){
    return "Double Bogey";
  }
  
  else if(strokes>= par + 3){
    return "Go Home!";
  } 
  
  // Only change code above this line
}

// Change these values to test
golfScore(5, 4);

12.把串聯(lián)的 if/if else 語(yǔ)句改成 switch 語(yǔ)句师枣。

 if (val === "bob") {
    answer = "Marley";
  } else if (val === 42) {
    answer = "The Answer";
  } else if (val === 1) {
    answer = "There is no #1";
  } else if (val === 99) {
    answer = "Missed me by this much!";
  } else if (val === 7) {
    answer = "Ate Nine";
  }```
##不能通過(guò),什么問(wèn)題萧落?践美?  

switch(val){
case val === "bob":
answer = "Marley";
break;
case val === 42:
answer = "The Answer";
break;
case val === 1:
answer = "There is no #1";
break;
case val === 99:
answer = "Missed me by this much!";
break;
case val === 7:
answer = "Ate Nine";
break;
default:
answer = "empty string";
}

// Only change code above this line
return answer;
}

// Change this value to test
myTest(7);```

case 后直接跟條件即可洗贰。正解如下:

function myTest(val) {
  var answer = "";
  // Only change code below this line
  
  switch(val){
    case "bob": 
      answer = "Marley";
      break;
    case 42:
      answer = "The Answer";
      break;
    case  1:
      answer = "There is no #1";
      break;
    case 99:
      answer = "Missed me by this much!";
      break;
    case 7:
      answer = "Ate Nine";
      break;
    
  }
  
  // Only change code above this line  
   return answer; 
}

// Change this value to test
myTest(7);```

#13.?? 邏輯上可行呀   
>【Counting Cards】你需要寫一個(gè)函數(shù),實(shí)現(xiàn)21點(diǎn)算法陨倡,它根據(jù)參數(shù) card的值來(lái)遞增或遞減變量count敛滋,函數(shù)返回一個(gè)由當(dāng)前count和 "Bet"(count>0)或"Hold"(count<=0) 拼接的字符串。注意count和"Bet" 或 "Hold"應(yīng)該用空格分開(kāi)玫膀。
例如:
"-3 Hold"
"5 Bet"
提示:既然card的值為7矛缨、8、9時(shí)帖旨,count值不變箕昭,那我們就可以忽略這種情況。
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/316258-eb008e96936d3efa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

var count = 0;

function cc(card) {
// Only change code below this line
if(card=2 || card=3 || card=4 || card=5 || card=6){
return count++;
}else if(card=10 || card='J' || card='Q' || card='K' || card='A'){
return count--;
}

if(count>0){
return "count Bet";
}else{
return "count Hold";
}

// Only change code above this line
}

// Add/remove calls to test your function.
// 提示: Only the last will display
cc(2); cc(3); cc(7); cc('K'); cc('A');```

正解如下:

var count = 0;

function cc(card) {
  // Only change code below this line
  var values = {
    2:1,3:1,4:1,5:1,6:1,
    7:0,8:0,9:0,
    10:-1,'J':-1,'Q':-1,'K':-1,'A':-1
  }
  count += values[card];
  return count + ' ' + (count > 0 ? "Bet" : "Hold");
  
  // Only change code above this line
}

// Add/remove calls to test your function.
// 提示: Only the last will display
cc(2); cc(3); cc(7); cc('K'); cc('A');```

14.有兩種方式訪問(wèn)對(duì)象屬性解阅,一個(gè)是點(diǎn)操作符(.)落竹,一個(gè)是中括號(hào)操作符([])。
當(dāng)你知道屬性的名稱的時(shí)候货抄,使用點(diǎn)操作符述召。

##15.playerNumber
使用變量playerNumber,通過(guò)中括號(hào)操作符找到testObj中的16蟹地。

/ Setup
var testObj = {
12: "Namath",
16: "Montana",
19: "Unitas"
};

// Only change code below this line;

var playerNumber; // Change this Line
var player = testObj[16]; // Change this Line


#正解如下:

// Setup
var testObj = {
12: "Namath",
16: "Montana",
19: "Unitas"
};

// Only change code below this line;

var playerNumber=16; // Change this Line
var player = testObj[playerNumber]; // Change this Line


16.1 有兩種方式訪問(wèn)對(duì)象屬性积暖,一個(gè)是點(diǎn)操作符(.),一個(gè)是中括號(hào)操作符([])怪与。
當(dāng)你知道屬性的名稱的時(shí)候夺刑,使用點(diǎn)操作符。這是一個(gè)使用點(diǎn)操作符讀取對(duì)象屬性的例子:

var myObj = {
prop1: "val1",
prop2: "val2"
};
var prop1val = myObj.prop1; // val1
var prop2val = myObj.prop2; // val2```

把switch語(yǔ)句轉(zhuǎn)化為一個(gè)叫做lookup的對(duì)象分别。


16.2第二種訪問(wèn)對(duì)象的方式就是中括號(hào)操作符([])遍愿,如果你想訪問(wèn)的屬性的名稱有一個(gè)空格,這時(shí)你只能使用中括號(hào)操作符([])耘斩。這是一個(gè)使用中括號(hào)操作符([])讀取對(duì)象屬性的例子:

var myObj = {
"Space Name": "Kirk",
"More Space": "Spock"
};
myObj["Space Name"]; // Kirk
myObj['More Space']; // Spock```
提示:屬性名稱中如果有空格沼填,必須把屬性名稱用單引號(hào)或雙引號(hào)包裹起來(lái)。

16.3

中括號(hào)操作符的另一個(gè)使用方式是用變量來(lái)訪問(wèn)一個(gè)屬性括授。當(dāng)你需要遍歷對(duì)象的屬性列表或查表時(shí)坞笙,這種方式極為有用。
這有一個(gè)使用變量來(lái)訪問(wèn)屬性的例子:

var someProp = "propName";
var myObj = {
  propName: "Some Value"
}
myObj[someProp]; // "Some Value"```
還有更多:

var myDog = "Hunter";
var dogs = {
Fido: "Mutt",
Hunter: "Doberman",
Snoopie: "Beagle"
}
var breed = dogs[myDog]; // "Hunter"
console.log(breed)// "Doberman"```
提示:當(dāng)我們通過(guò)變量名訪問(wèn)屬性的時(shí)候荚虚,不需要給變量名包裹引號(hào)薛夜。因?yàn)閷?shí)際上我們使用的是變量的值,而不是變量的名稱曲管。

16.4

把switch語(yǔ)句轉(zhuǎn)化為一個(gè)叫做lookup的對(duì)象却邓。

// Setup
function phoneticLookup(val) {
  var result = "";
  // Only change code below this line
  switch(val) {
    case "alpha": 
      result = "Adams";
      break;
    case "bravo": 
      result = "Boston";
      break;
    case "charlie": 
      result = "Chicago";
      break;
    case "delta": 
      result = "Denver";
      break;
    case "echo": 
      result = "Easy";
      break;
    case "foxtrot": 
      result = "Frank";
  }
  // Only change code above this line
  return result;
}
// Change this value to test
phoneticLookup("charlie");

有問(wèn)題硕糊,怎么改院水?

// Setup
function phoneticLookup(val) {
  var result = "";

  // Only change code below this line
  var lookup={
    alpha : "Adams",
    bravo:"Boston",
    charlie:"Chicago",
    delta: "Denver",
    echo:"Easy",
    foxtrot:"Frank"
    

  // Only change code above this line
  return result;
}

// Change this value to test
phoneticLookup("charlie");

正解如下:

// Setup
function phoneticLookup(val) {
  var result = "";

  // Only change code below this line
  var lookup={
    alpha : "Adams",
    bravo:"Boston",
    charlie:"Chicago",
    delta: "Denver",
    echo:"Easy",
    foxtrot:"Frank"
    };
  result = lookup[val];

  // Only change code above this line
  return result;
}

// Change this value to test
phoneticLookup("charlie");```

#17. 已解決
>修改函數(shù)checkObj檢查myObj是否有checkProp屬性腊徙,如果屬性存在,返回屬性對(duì)應(yīng)的值檬某,如果不存在撬腾,返回 "Not Found"。
注意:如果你需要通過(guò)變量來(lái)訪問(wèn)對(duì)象的屬性值恢恼,請(qǐng)用中括號(hào)操作符民傻,點(diǎn)操作符不支持變量。

// Setup
var myObj = {
gift: "pony",
pet: "kitten",
bed: "sleigh"
};

function checkObj(checkProp) {
// Your Code Here
if(myObj.hasOwnProperty("checkProp")){
return checkObj["checkProp"];// return what???
}else{
return "Not Found";
}

}

// Test your code by modifying these values
checkObj("gift");```

正解如下:

// Setup
var myObj = {
  gift: "pony",
  pet: "kitten",
  bed: "sleigh"
};

function checkObj(checkProp) {
  // Your Code Here
  
  return myObj.hasOwnProperty(checkProp) ? myObj[checkProp] : "Not Found";
}

// Test your code by modifying these values
checkObj("gift");

18.JavaScript Object Notation 簡(jiǎn)稱 JSON场斑,它使用JavaScript對(duì)象的格式來(lái)存儲(chǔ)數(shù)據(jù)漓踢。JSON是靈活的,因?yàn)樗试S 數(shù)據(jù)結(jié)構(gòu) 是 字符串漏隐,數(shù)字喧半,布爾值,字符串青责,和 對(duì)象 的任意組合挺据。

什么是 JSON ?
JSON 指的是 JavaScript 對(duì)象表示法(JavaScript Object Notation)
JSON 是輕量級(jí)的文本數(shù)據(jù)交換格式
JSON 獨(dú)立于語(yǔ)言 *
JSON 具有自我描述性脖隶,更易理解

  • JSON 使用 JavaScript 語(yǔ)法來(lái)描述數(shù)據(jù)對(duì)象扁耐,但是 JSON 仍然獨(dú)立于語(yǔ)言和平臺(tái)。JSON 解析器和 JSON 庫(kù)支持許多不同的編程語(yǔ)言产阱。

19.通過(guò)串聯(lián)起來(lái)的點(diǎn)操作符或中括號(hào)操作符來(lái)訪問(wèn)JSON對(duì)象的嵌套屬性婉称。
下面是一個(gè)嵌套的JSON對(duì)象:

var ourStorage = {
  "desk": {
    "drawer": "stapler"
  },
  "cabinet": {
    "top drawer": { 
      "folder1": "a file",
      "folder2": "secrets"
    },
    "bottom drawer": "soda"
  }
}
ourStorage.cabinet["top drawer"].folder2;  // "secrets"
ourStorage.desk.drawer; // "stapler"```

##20.
>使用點(diǎn)操作符和中括號(hào)操作符來(lái)檢索變量 myPlants 的第二棵樹。

// Setup
var myPlants = [
{
type: "flowers",
list: [
"rose",
"tulip",
"dandelion"
]
},
{
type: "trees",
list: [
"fir",
"pine",
"birch"
]
}
];

// Only change code below this line

var secondTree = myPlants[1].list[1] ; // Change this line```

寫一個(gè)函數(shù)心墅,它有個(gè)三個(gè)參數(shù)酿矢,id、prop怎燥、 value瘫筐。
如果 value !='' 而且prop != 'tracks' ,collectionCopy[id][prop]=value;铐姚。
如果 value !='' 而且prop == 'tracks' 策肝,collectionCopy[id][prop].push(value);。
如果 value == '' 隐绵,delete collectionCopy[id][prop];之众。
記住:函數(shù)返回的永遠(yuǎn)是整個(gè)對(duì)象依许。

棺禾??題目什么意思峭跳,不太明白

// Setup
var collection = {
    2548: {
      album: "Slippery When Wet",
      artist: "Bon Jovi",
      tracks: [ 
        "Let It Rock", 
        "You Give Love a Bad Name" 
      ]
    },
    2468: {
      album: "1999",
      artist: "Prince",
      tracks: [ 
        "1999", 
        "Little Red Corvette" 
      ]
    },
    1245: {
      artist: "Robert Palmer",
      tracks: [ ]
    },
    5439: {
      album: "ABBA Gold"
    }
};
// Keep a copy of the collection for tests
var collectionCopy = JSON.parse(JSON.stringify(collection));

// Only change code below this line
function update(id, prop, value) {
  if(value != '' && prop != 'tracks' ){
   return collectionCopy[id][prop]=value;
  }else if(value !=''&&){
    
  }

  return collection;
}

// Alter values below to test your code
update(5439, "artist", "ABBA");```

#22.??完全沒(méi)思路
>我們有一個(gè)對(duì)象數(shù)組膘婶,里面存儲(chǔ)著通訊錄缺前。
函數(shù) lookUp 有兩個(gè)預(yù)定義參數(shù):firstName值和prop屬性 。
函數(shù)將會(huì)檢查通訊錄是否存在一個(gè)聯(lián)系人的firstName屬性等于firstName值悬襟,還會(huì)檢查對(duì)應(yīng)聯(lián)系人是否存在 prop屬性衅码。
如果它們都存在,函數(shù)返回prop屬性對(duì)應(yīng)的值脊岳。
如果firstName 值不存在逝段,返回 "No such contact"。
如果prop 屬性不存在割捅,返回 "No such property"奶躯。

//Setup
var contacts = [
{
"firstName": "Akira",
"lastName": "Laine",
"number": "0543236543",
"likes": ["Pizza", "Coding", "Brownie Points"]
},
{
"firstName": "Harry",
"lastName": "Potter",
"number": "0994372684",
"likes": ["Hogwarts", "Magic", "Hagrid"]
},
{
"firstName": "Sherlock",
"lastName": "Holmes",
"number": "0487345643",
"likes": ["Intriguing Cases", "Violin"]
},
{
"firstName": "Kristian",
"lastName": "Vos",
"number": "unknown",
"likes": ["Javascript", "Gaming", "Foxes"]
}
];

function lookUp(firstName, prop){
// Only change code below this line
for(var i=0;i<contacts.length;i++){
if(contacts[i].hasOwnProperty("firstName") && contacts[i].hasOwnProperty("prop") ){
return prop;
}
if(contacts[i].hasOwnProperty("firstName") === false){
return "No such contact";
}

if(contacts[i].hasOwnProperty("prop")===false){
return "No such property";
}
}
// Only change code above this line
}
// Change these values to test your function
lookUp("Akira", "likes");```

正解如下:

//Setup
var contacts = [
    {
        "firstName": "Akira",
        "lastName": "Laine",
        "number": "0543236543",
        "likes": ["Pizza", "Coding", "Brownie Points"]
    },
    {
        "firstName": "Harry",
        "lastName": "Potter",
        "number": "0994372684",
        "likes": ["Hogwarts", "Magic", "Hagrid"]
    },
    {
        "firstName": "Sherlock",
        "lastName": "Holmes",
        "number": "0487345643",
        "likes": ["Intriguing Cases", "Violin"]
    },
    {
        "firstName": "Kristian",
        "lastName": "Vos",
        "number": "unknown",
        "likes": ["Javascript", "Gaming", "Foxes"]
    }
];


function lookUp(firstName, prop){
// Only change code below this line
for(var i=0;i<contacts.length;i++){
    if(contacts[i].firstName == firstName){
        if(contacts[i].hasOwnProperty(prop)){
             return contacts[i][prop];
             } 
              return "No such property";       
         }
    } 
     return "No such contact";
  
  
// Only change code above this line
}

// Change these values to test your function
lookUp("Akira", "likes");

23.我們之前生成的隨機(jī)數(shù)是在0到某個(gè)數(shù)之間,現(xiàn)在我們要生成的隨機(jī)數(shù)是在兩個(gè)指定的數(shù)之間亿驾。
我們需要定義一個(gè)最小值和一個(gè)最大值巫糙。
下面是我們將要使用的方法,仔細(xì)看看并嘗試?yán)斫膺@行代碼到底在干嘛:
Math.floor(Math.random() * (max - min + 1)) + min

24.Regular expressions 正則表達(dá)式被用來(lái)根據(jù)某種匹配模式來(lái)尋找strings中的某些單詞颊乘。
舉例:如果我們想要找到字符串The dog chased the cat中單詞 the参淹,我們可以使用下面的正則表達(dá)式: /the/gi
我們可以把這個(gè)正則表達(dá)式分成幾段:
/ 是這個(gè)正則表達(dá)式的頭部
the 是我們想要匹配的模式
/ 是這個(gè)正則表達(dá)式的尾部
g 代表著 global(全局),意味著返回所有的匹配而不僅僅是第一個(gè)乏悄。
i 代表著忽略大小寫浙值,意思是當(dāng)我們尋找匹配的字符串的時(shí)候忽略掉字母的大小寫

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市檩小,隨后出現(xiàn)的幾起案子开呐,更是在濱河造成了極大的恐慌,老刑警劉巖规求,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筐付,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡阻肿,警方通過(guò)查閱死者的電腦和手機(jī)瓦戚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)丛塌,“玉大人较解,你說(shuō)我怎么就攤上這事「傲冢” “怎么了印衔?”我有些...
    開(kāi)封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)姥敛。 經(jīng)常有香客問(wèn)我奸焙,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任与帆,我火速辦了婚禮金顿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鲤桥。我一直安慰自己,他們只是感情好渠概,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布茶凳。 她就那樣靜靜地躺著,像睡著了一般播揪。 火紅的嫁衣襯著肌膚如雪贮喧。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天猪狈,我揣著相機(jī)與錄音箱沦,去河邊找鬼。 笑死雇庙,一個(gè)胖子當(dāng)著我的面吹牛谓形,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疆前,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼寒跳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了竹椒?” 一聲冷哼從身側(cè)響起童太,我...
    開(kāi)封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胸完,沒(méi)想到半個(gè)月后书释,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赊窥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年爆惧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锨能。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡检激,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出腹侣,到底是詐尸還是另有隱情叔收,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布傲隶,位于F島的核電站饺律,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏跺株。R本人自食惡果不足惜复濒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一脖卖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧巧颈,春花似錦畦木、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至唇礁,卻和暖如春勾栗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盏筐。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工围俘, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人琢融。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓界牡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親漾抬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子欢揖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • FreeCodeCamp - Basic JavaScript 寫在前面: 我曾經(jīng)在進(jìn)谷前刷過(guò)這一套題,不過(guò)當(dāng)時(shí)只...
    付林恒閱讀 16,440評(píng)論 5 28
  • Comment your JavaScript Code JavaScript中的注釋方式有以下兩種: 使用 //...
    歸云丶閱讀 1,101評(píng)論 0 0
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理奋蔚,服務(wù)發(fā)現(xiàn)她混,斷路器,智...
    卡卡羅2017閱讀 134,652評(píng)論 18 139
  • 4月6日消息臭脓,滬深兩市早盤高開(kāi),隨后維持窄幅震蕩腹忽。下午受到消息刺激来累,軌道交通、港口航運(yùn)大幅上漲窘奏,滬指由此展開(kāi)一小波...
    無(wú)丶醉心閱讀 141評(píng)論 0 0
  • 你是一只小花鼠嘹锁,我是一個(gè)軍人,我們都是生命着裹,卻同被戰(zhàn)爭(zhēng)所困领猾,又何嘗不在互相尊重。 戰(zhàn)爭(zhēng)的冷漠與無(wú)情已經(jīng)貫穿我心,我...
    efd4b77d14f0閱讀 192評(píng)論 0 2