JavaScript小結

語法小結

/**
 * Created by M.C on 2017/5/26.
 */

/*彈框*/
//var message = "Hello world";
//alert(message);

/*變量的命名規則*/
/*
* 1.變量不能包含任何空格
* 2.變量只能包含英文單詞,數字,美圓符號$和下劃線_
* 3.不能使用js中的關鍵字,但能夠包含關鍵字
* 4.大小寫敏感,rose和Rose是兩個不一樣的變量
* 5.採用駝峯命名, 若是變量命中有多個單詞,第一個單詞的第一個字母小寫,其餘的單詞的第一個字母都大寫
* 5.用有意義的名稱來描述變量
* */
var userName = "zhangsan";
var string_underscores = "下劃線的變量";
document.write(userName + string_underscores);

/*常見的數學運算符*/
// +
var a = 2 + 3;
// -
var b = 5 - 3;
// *
var c = 4 * 4;
// /
var d = 8 / 2;
// %
var e = 10 % 4;
document.write("<br>" + a + b + c + d + e);

/*不常見的數學運算符*/
// ++
var num = 5;
var newNum = num++;
var newNum1 = ++num;
document.write("<br>" + "num:" + num + " newNum:" + newNum + " newNum1:" + newNum1);
/*上邊代碼的打印結果爲:
* `num:7 newNum:5 newNum1:7`
* 說明:當++放到變量後邊的時候,先返回再相加,當++放到變量的前邊的時候,先相加再返回
* 這一規則一樣適用於其餘的語言
* */

// --
(function() {
    var num = 5;
    var newNum = num--;
    var newNum1 = --num;
    document.write("<br>" + "num:" + num + " newNum:" + newNum + " newNum1:" + newNum1);
    /*上邊代碼的打印結果爲:
     * `num:3 newNum:5 newNum1:3`
     * 說明:當--放到變量後邊的時候,先返回再相減,當--放到變量的前邊的時候,先相減再返回
     * 這一規則一樣適用於其餘的語言
     * */
})();

/*拼接字符串*/
(function() {
    document.write("<br>"+ "Name is " + "MC" + "!");
    document.write("<br>" + "2" + 2 + 2); // 當拼接的時候有字符串和數字,數字會被當作字符串處理
})();

/*提示框
* 提示框用於獲取信息,好比給出一個問題,指望用戶給出一個答案
* 使用prompt函數,該函數接受兩個參數,第一參數表示問題,第二個參數表示默認的答案
* prompt函數的返回值就是答案,返回值的類型爲字符串,若是用戶沒有輸入,返回"",若是點擊了取消,返回null
* */
//var backString = prompt("你多大了?", "23");
//document.write("<br>" + backString);

/*數組的一些注意事項
* 1.當使用下標賦值的時候,用沒有賦值的下標取值會獲得undefined
* 2.使用pop()函數能夠移除數組中最後一個元素
* 3.使用push函數能夠添加大於1個元素到數組中
* 4.使用shift函數能夠移除數組中第一個元素,和pop的順序相反
* 5.使用unshift函數能夠添加大於1個元素到數組中,會插入到數組的最前邊,和push相反
* 6.splice函數能夠插入數據和刪除數據,在下邊會詳細演示
* 7.使用slice切割數據,並返回一個新的數組
* */
(function() {
    var array = [];
    array[0] = "a";
    array[1] = "b";
    array[2] = "c";
    array[6] = "d";
    document.write("<br>" + array);
    document.write("<br>");
    document.write(array[3]);

    // 添加一個元素
    array.push("e");
    // 添加多個元素
    array.push("f", "g", "h");
    document.write("<br>");
    document.write(array);

    // 移除最後編一個元素
    array.pop();
    document.write("<br>");
    document.write(array);

    // 使用shift刪除第一個數據
    array.shift();
    document.write("<br>");
    document.write(array);

    // 使用unshift在數組開頭添加數據
    array.unshift("1", "2");
    document.write("<br>");
    document.write(array);

    // 使用splice添加和刪除數據
    // splice第一個參數表示數據插入的位置,第二個參數表示刪除原位置後邊多少位數據
    array.splice(2, 2, "G", "H", "J");
    document.write("<br>");
    document.write(array);

    // slice切割數組, 第一個參數表示切割開始的索引,第二個參數比較特殊,也表示一個索引,但最終結果只會切割刀該索引前邊的數據
    // 也就是說切割後的數據,並不會包含第二個參數索引指向的值
    var newArray = array.slice(2, 3);
    document.write("<br>");
    document.write(newArray);
})();

/*大小寫轉換*/
(function() {
    // 使用toLowerCase()轉換成小寫字符串
    var str = "AbCdEf";
    var lowerStr = str.toLowerCase();
    document.write("<br>");
    document.write("原字符創:" + str + " 轉換成小寫的字符串:" + lowerStr);

    // 使用toUpperCase()轉換成大寫字符串
    var upperStr = str.toUpperCase();
    document.write("<br>");
    document.write("原字符創:" + str + " 轉換成大寫的字符串:" + upperStr);
})();

/*檢測是否是有兩個連續的空格*/
//(function() {
//    var inputStr = prompt("請輸入一些帶空格的東東?")
//    var inputStrLength = inputStr.length;
//    for (var i = 0; i < inputStrLength; i++) {
//        if (inputStr.slice(i, i + 2) === "  ") {
//            document.write("<br>");
//            document.write("發現兩個連續得字符");
//            break;
//        }
//    }
//})();


/*查找字符串中是否存在某個字符串*/
(function() {
    // 實現上邊的功能有兩種不一樣的方法
    var str = "Your happy passer-by all knows, my distressed there is no place hides.";
    // 查找is是否在上邊的字符串之中,把結果保存在result中
    var result = "";
    var strLength = str.length;
    for (var i = 0; i < strLength; i++) {
        if (str.slice(i, i + 2) === "is") {
            result += "使用slice發現了is,index:" + i;
            break;
        }
    }

    var firstChar = str.indexOf("is");
    if (firstChar != -1) {
        result += "使用indexOf發現了is index:" + firstChar;
    }

    if (result.length <= 0) {
        result += "沒有發現is";
    }

    document.write("<br>");
    document.write(result);

    // 注意:indexOf返回的是結果的第一個字符的位置,能夠使用lastIndexOf獲取符合條件的最後一個結果
})();

/*獲取某個位置的字符*/
(function() {
    // 一樣有兩種方式獲取某個位置的字符
    var str = "Hello world";
    var firstChar = str.slice(0, 1);
    // 使用charAt函數
    var firstChar1 = str.charAt(0);
    document.write("<br>");
    document.write(firstChar + " " + firstChar1);
})();

/*替換字符串*/
(function() {
    var str = "a b c d e f a a a";
    var newStr = str.replace("a", "%");
    document.write("<br>");
    document.write("原字符串:" + str + " 替換後:" + newStr);
    // 經過查看上邊打印出的信息,只替換了第一次出現的字符串,那麼必須告訴js要替換所有的字符串
    // 注意:替換字符串會生成一個新的字符串,不會直接改變原有的字符串
    var newStr1 = str.replace(/a/g, "%");
    document.write("<br>");
    document.write("原字符串:" + str + " 替換後:" + newStr1);
})();

/*取整*/
(function() {
    // round四捨五入
    var num1 = Math.round(0.499);
    var num2 = Math.round(0.599);
    document.write("<br>");
    document.write("0.499round:" + num1 + " 0.599round:" + num2);

    // ceil向上取整
    var num3 = Math.ceil(0.499);
    var num4 = Math.ceil(0.599);
    document.write("<br>");
    document.write("0.499ceil:" + num3 + " 0.599ceil:" + num4);

    // floor向下取整
    var num5 = Math.floor(0.499);
    var num6 = Math.floor(0.599);
    document.write("<br>");
    document.write("0.499floor:" + num5 + " 0.599floor:" + num6);
})();

/*隨機數*/
(function() {
    // 假如想獲取一個1~6的隨機數
    // 先獲取js的一個隨機數,取值範圍爲0.0000000000000000 ~ 0.9999999999999999 16位的小數
    var bigDecimal = Math.random();
    // 把上邊獲取的小數乘以6後加1,這是最經常使用的方法
    var improvedNum = (bigDecimal * 6) + 1;
    // 向下取整
    var result = Math.floor(improvedNum);

    document.write("<br>");
    document.write("隨機數:" + bigDecimal + " 結果:" + result);
})();

/*字符串轉數字*/
(function() {
    // 若是是 + 號, 那麼js會把數字當作字符串看待
    var num = "20" + 20; // 2020
    // 若是是 - * / 會把字符串當作數字看待
    var num1 = "20" - 10; // 10
    // 若是不是數字類型的字符串,NaN
    var num2 = "20" - "dd";

    document.write("<br>");
    document.write(num + " " + num1 + " " + num2);
})();

/*字符數字互轉*/
(function() {
    // 能夠使用parseInt函數轉成整型
    var num = parseInt("232");
    // 能夠使用parseFloat轉成浮點型
    var num1 = parseFloat("22.22");
    // 使用toString函數轉成字符串
    var str = num1.toString();

    document.write("<br>");
    document.write(num + " " + num1 + " " + str);
})();

/*保留小數後幾位*/
(function() {
    // 保留小數2位
    var a = 23.4655.toFixed(2);
    // 注意:若是最後一位是5 好比23.255 那麼調用toFixed(2)後的結果有多是23.47,也有多是23.46, 跟瀏覽器有關
    // 爲了解決這個問題,能夠把最後一位的5替換成6來解決
    var str = "34.55555";
    if (str.charAt(str.length - 1) === "5") {
        str = str.slice(0, str.length - 1) + "6";
    }

    document.write("<br>");
    document.write("a:" + a + " str: " + str);
})();

/*Date是js的一個對象*/
(function() {
    var date = new Date();
    document.write("<br>");
    document.write(date.toString());

    // 獲取星期,注意:獲取星期用的是getDay函數
    var weeks = ["週日", "週一", "週二", "週三", "週四", "週五", "週六"];
    var week = date.getDay();
    document.write("<br>");
    document.write(weeks[week]);

    // 年
    var year = date.getFullYear();
    // 月
    var month = date.getMonth();
    // 日
    var day = date.getDate();
    // 時
    var hour = date.getHours();
    // 分
    var minute = date.getMinutes();
    // 秒
    var second = date.getSeconds();
    // 毫秒
    var millisecond = date.getMilliseconds();
    // 時間戳
    var time = date.getTime();
    document.write("<br>");
    document.write(year + " " + month + " "+ day + " "+ hour + " "+ minute + " "+ second + " "+ millisecond + " "+ time + " ");
})();

/*指定日期*/
(function() {
    var date = new Date();
    var otherDate = new Date("June 30, 2030");

    var dateTime = date.getTime();
    var otherDateTime = otherDate.getTime();

    var dis = (otherDateTime - dateTime) / (1000 * 60 * 60 * 24);
    document.write("<br>");
    document.write("相差的天數: " + Math.floor(dis));
})();
相關文章
相關標籤/搜索