千鋒教育JavaScript全套視頻教程(10天學(xué)會Js,前端javascrip

//json對象:將若干繁雜屬性封裝成一個整體的容器,通過該容器對象對所有分量進(jìn)行讀寫操作.
? ? //1.json對象的定義:由{},括起來的鍵值對集合
? ? //key1:value1,每兩個鍵值對間用逗號隔開
? ? //注意事項(xiàng):json對象的key必須用雙引號括起來
? ? var stu = {
? ? ? ? "name":"ikun",
? ? ? ? "age":23,
? ? ? ? "score":100,
? ? ? ? "sing":function(){
? ? ? ? ? ? console.log("唱");
? ? ? ? },
? ? ? ? "rap":function(){
? ? ? ? ? ? console.log("rap");
? ? ? ? }
? ? }
? ? // 2.json對象屬性的訪問
? ? // a.點(diǎn)->分量運(yùn)算符
? ? // 對象名.屬性名
? ? // stu.name = "泰褲辣";
? ? // console.log(stu.name,stu.age,stu.score);
? ? // stu.sing();
? ? //b.下標(biāo)法
? ? // 對象名[索引]
? ? // console.log(stu["name"]);
? ? // var str = "age";
? ? // console.log(stu[str]);
? ? // 3.添加自定義屬性
? ? // 對象名.新屬性名 = 屬性值
? ? // stu.gender = 'M';
? ? // 4.json的遍歷
? ? // for...in用來遍歷容器的索引--->特指json(數(shù)組也可以)
? ? // for(var key in 容器){
? ? // ? ? 每次循環(huán)的過程中,key代表本次元素的索引(即對象內(nèi)鍵值對的鍵名)
? ? // }
? ? for(var index in stu){
? ? ? ? // console.log(index);
? ? ? ? console.log(stu[index]);
? ? }
// ----------------------------------------------
? ? //嚴(yán)格模式:強(qiáng)行要求用戶使用的變量必須定義
? ? // 嚴(yán)格模式用:"use strict"修飾作用域
? ? // 注意:嚴(yán)格模式無法解決在變量使用之后再聲明的問題,如下:
? ? // "use strict";
? ? // a = 123;
? ? // var a;
// -----------------------------------------------
? ? // indexOf
? ? // 功能:查找元素是否在數(shù)組中首次出現(xiàn)
? ? // 參數(shù):indexOf(目標(biāo)元素)
? ? // 返回值:找到返回下標(biāo),找不到返回-1
? ? // var arr = [5,6,7,4,8,9,3,0];
? ? // console.log(arr.indexOf(18));
? ? // lastIndexOf 查找字符串最后一次出現(xiàn)的位置 ?如果沒找到 ?返回-1
? ? // 數(shù)組去重
? ? var arr = [5,6,5,5,6,6,1,7,7,8,9,4,8,9,3,0];
? ? // 去重第一種方法:
? ? // var arr1 = [];
? ? // for(var i=0; i<arr.length; i++){
? ? // ? ? if(arr1.indexOf(arr[i]) == -1){
? ? // ? ? ? ? arr1.push(arr[i]);
? ? // ? ? }
? ? // }
? ? // 去重第二種方法
? ? // for(var i = 0;i<arr.length-1;i++){
? ? // ? ? for(var j = (i+1);j<arr.length;j++){
? ? // ? ? ? ? if(arr[i] == arr[j]){
? ? // ? ? ? ? ? ? arr.splice(j,1);
? ? // ? ? ? ? ? ? j--;
? ? // ? ? ? ? }
? ? // ? ? }
? ? // }
? ? // console.log(arr);
// -------------------------------------------
? ? //上下文環(huán)境:在別人的函數(shù)體內(nèi),需要調(diào)用自己的函數(shù)
? ? //問題:別人的函數(shù)體你無法操作,這就導(dǎo)致我們的功能函數(shù),不能自己在別人的函數(shù)體內(nèi)調(diào)用
? ? //解決方案:回調(diào)函數(shù)->一個被當(dāng)做函數(shù)參數(shù)的函數(shù)
? ? // 如:
? ? // function f1(f){//第三方函數(shù) f == f2 ? f() == f2()
? ? // ? ? f();
? ? // ? ? console.log("f1");
? ? // }
? ? // var f2 = function(){//自己寫的函數(shù)->回調(diào)函數(shù)
? ? // ? ? console.log("f2");
? ? // }
? ? // f1(f2);
// ---------------------------------------------------
? ? // 按照時間間隔,周期性的執(zhí)行功能模塊
? ? // setInterval(回調(diào)函數(shù),時間間隔)
? ? var count = 0;
? ? var fun = function(){
? ? ? ? console.log("蔡徐坤我愛你"+ ++count);
? ? }
? ? // setInterval(fun,1000);
// ---------------------------------------------------
? ? //字符串的定義
? ? //a.字面量->基本類型
? ? var str1 = "hello world";
? ? console.log(str1);
? ? console.log(typeof str1);
? ? //b.構(gòu)造法法->引用類型
? ? var str2 = new String("hello world");
? ? console.log(str2);
? ? console.log(typeof str2);
// --------------------------------------------------
? ? // 每個字符都有一個對應(yīng)的編碼,這個表就是ascii碼表
? ? // 97 "a"
? ? // 65 "A"
? ? // 48 "0"
? ? // 32 空格
? ? // 13 回車
? ? // 結(jié)論:字符和對應(yīng)的asc碼值完全等價
// -------------------------------------------------
// ?### 字符串API
? ? // length:字符串的長度
? ? // 注意:字符串通過索引訪問字符時,要用()將索引括起來
? ? // charAt
? ? // 功能:返回索引對應(yīng)的字符
? ? // 參數(shù):charAt(索引)
? ? // 返回值:索引對應(yīng)的字符
? ? // var str1 = "hellolaowang";
? ? // console.log(str1.charAt(1));
? ? // charCodeAt
? ? // 功能:返回索引對應(yīng)的字符的ASC碼值
? ? // 參數(shù):charCodeAt(索引)
? ? // 返回值:索引對應(yīng)的字符的ASC碼值
? ? // var str2 = "abc";
? ? // console.log(str2.charCodeAt(0));
? ? // fromCharCode
? ? // 功能:將ASC碼值轉(zhuǎn)換為字符串
? ? // 參數(shù):fromCharCode(ASC1,[ASC2...])
? ? // 返回值:ASC對應(yīng)的字符
? ? // 注意事項(xiàng):該方法必須通過類型名調(diào)用
? ? var str = String.fromCharCode(97,99);
? ? console.log(str);
? ? // indexOf("abc") ? ? ? ?查找字符串第一次出現(xiàn)的位置
? ? // var str = "helloworld";
? ? // console.log(str.indexOf("llo"));
? ? // lastIndexOf("abc") ? ?查找字符串最后一次出現(xiàn)的位置 ?如果沒找到 ?返回-1
? ? // var str = "helloworld";
? ? // console.log(str.lastIndexOf("o"));
? ? // replace
? ? // 功能:用參數(shù)2替換參數(shù)1(不改變原字符串)
? ? // 參數(shù):replace(參數(shù)1,參數(shù)2)
? ? // 返回值:替換后的字符串(只能替換一次,即只能替換第一個)
? ? // var str = "iKun de ge bi shi iKun";
? ? // str2 = str.replace("iKun","老王");
? ? // console.log(str);
? ? // console.log(str2);
? ? // slice 截取字符串,左閉右開
? ? // var str = "helloworld";
? ? // var str1 = str.slice(2,5);
? ? // substring 和 slice功能基本一樣
? ? // 唯一的區(qū)別:slice參數(shù)支持負(fù)數(shù)(從后往前算,負(fù)數(shù)的時候左開右閉),substring不支持。
? ? // var str = "helloworld";
? ? // var str1 = str.slice(-5,-2);
? ?
? ? // split
? ? // 功能:將字符串分割成數(shù)組
? ? // 參數(shù):split("分隔符")--->如果不加分隔符,會把一整個字符串作為一個元素放進(jìn)數(shù)組內(nèi)
? ? // 返回值:新的數(shù)組
? ? // var str = "jin tian shi xing qi san";
? ? // var arr = str.split(" ");
? ? // console.log(arr);
? ? // 所有英文字符轉(zhuǎn)小寫
? ? console.log("HeiHei".toLowerCase());
? ? // 所有英文字符轉(zhuǎn)大寫
? ? console.log("HeiHei".toUpperCase());