語法小結
/**
* 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));
})();