[TOC] 1. 字元串和數值之間轉換 1.字元串轉數值 2.數值轉字元串 2. 對象(object) 2.1 對象的創建方式 1.使用對象 字面量 創建方式。 對象字面量是對象定義的一種簡寫形式,目的在於簡化創建包含大量屬性的對象的過程。 2.使用new操作符後跟Object 構造函數 2.2 訪 ...
目錄
1. 字元串和數值之間轉換
1.字元串轉數值
var str = '123.0000111';
console.log(parseInt(str)); //轉整數
console.log(typeof parseInt(str));
console.log(parseFloat(str)); //轉浮點型
console.log(typeof parseFloat(str));
console.log(Number(str));
2.數值轉字元串
var num = 1233.006;
// 強制類型轉換
console.log(String(num));
console.log(num.toString());
// 隱式轉換
console.log(''.concat(num));
// toFixed()方法會按照指定的小數位返回數值的字元串 四捨五入
console.log(num.toFixed(2));
2. 對象(object)
2.1 對象的創建方式
1.使用對象字面量創建方式。
對象字面量是對象定義的一種簡寫形式,目的在於簡化創建包含大量屬性的對象的過程。
var obj = {};
obj.name = 'mjj';
obj.fav = function(){
//obj
console.log(this); // this指向的是當前的對象obj
}
obj.fav();
//點語法 set 和get
console.log(obj.name); //給obj.name重新賦值 或 獲取obj.name值
2.使用new操作符後跟Object構造函數
var obj2 = new Object();
console.log(obj2);
obj2.name = 'wusir';
new Array(); //構造數組
new String(); //構造字元串
new Number(); //構造數字
//ES5中 使用構造函數來創建對象
function Point(x, y) {
this.x = x;
this.y = y;
}
Point.prototype.toString = function () {
return '(' + this.x + ', ' + this.y + ')';
};
var p = new Point(1, 2);
//es6用class來創建對象
class Person{
constructor(x,y){
this.x = x;
this.y = y
}
toString(){
}
}
var p = new Person();
2.2 訪問屬性的方法
1.點語法(推薦使用)
var person = {
"name" : 'jack';
"age" : 28,
"fav" : function(){
console.log('泡妹子');
}
}
person.name; //jack
person.fav();//泡妹子
2.括弧表示法
person['name']; //相當於person.name;
3. 日期對象
3.1 Date對象的方法
要創建一個日期對象,使用 new 操作符和 Date 構造函數即可
var date = new Date();
console.log(date); //列印date對象
console.log(Date()); //獲取本地當前時間的日期和時間
console.log(date.getDate()); //獲取本地當前時間的日期(1-31)
console.log(date.getMonth()+1); //獲取本地當前時間的月份(0-11)
console.log(date.getFullYear()); //獲取本地當前時間的年份(4位數字)
console.log(date.getDay()); //獲取本地當前時間是星期幾(0-6)
console.log(date.getHours()); //獲取本地當前時間小時數(0-23)
console.log(date.getMinutes()); //獲取本地當前時間分鐘(0-59)
console.log(date.getSeconds()); //獲取本地當前時間秒數(0-59)
var date = new Date();
var weeks = ['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];
console.log(weeks[date.getDay()]);
var day = weeks[date.getDay()];
document.write(`<a href="#">${day}</a>`);
3.2 日期格式化方法
Date 類型還有一些專門用於將日期格式化為字元串的方法,這些方法如下。
toLocaleString()——以特定於實現的格式顯示年、月、日和時、分、秒
var date = new Date();console.log(date.toLocaleString()); //"2019/6/4 下午4:00:32"
toDateString()——以特定於實現的格式顯示星期幾、月、日和年;
var date = new Date(); console.log(date.toDateString()); //"Tue Jun 04 2019"
toTimeString()——以特定於實現的格式顯示時、分、秒和時區;
var date = new Date(); console.log(date.toTimeString()); //"16:00:32 GMT+0800 (中國標準時間)"
toLocaleDateString()——以特定於地區的格式顯示年、月、日;
var date = new Date(); console.log(date.toLocaleDateString()); //"2019/6/4"
toLocaleTimeString()——以特定於實現的格式顯示時、分、秒;
var date = new Date(); console.log(date.toLocaleTimeString()); //"下午4:00:32"
toUTCString()——以特定於實現的格式完整的 UTC 日期。
var date = new Date(); console.log(date.toUTCString()); //"Tue, 04 Jun 2019 08:00:32 GMT"
3.3 數字時鐘案例
var timeObj = document.getElementById('time');
console.log(time);
function getNowTime() {
var time = new Date();
var hour = time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
var temp = "" + ((hour > 12) ? hour - 12 : hour);
if (hour == 0) {
temp = "12";
}
temp += ((minute < 10) ? ":0" : ":") + minute;
temp += ((second < 10) ? ":0" : ":") + second;
temp += (hour >= 12) ? " P.M." : " A.M.";
timeObj.innerText = temp;
}
setInterval(getNowTime, 20)
4. 數學Math對象
4.1 Math 對象的屬性
Math 對象包含的屬性大都是數學計算中可能會用到的一些特殊值。下表列出了這些屬性
屬性 | 說明 |
---|---|
Math.E | 自然對數的底數,即常量e的值 |
Math.LN10 | 10的自然對數 ln(10) |
Math.LN2 | 2的自然對數 |
Math.LOG2E | 以2為底e的對數 |
Math.LOG10E | 以10為底e的對數 |
Math.PI | π的值 |
Math.SQRT1_2 | 1/2的平方根(即2的平方根的倒數) |
Math.SQRT2 | 2的平方根 |
4.2 min()和 max()方法
min() 方法用於確定一組數值中的最小值
max() 方法用於確定一組數值中的最大值
var max = Math.max(3, 54, 32, 16);
alert(max); //54
var min = Math.min(3, 54, 32, 16);
alert(min); //3
// 可以用於找到數組中最大或最小值,使用apply()方法
var values = [1,2,36,23,43,3,41];
var max = Math.max.apply(null, values);
console.log(max);
4.3 舍入方法
將小數值舍入為整數的幾個方法:
- Math.ceil() 執行向上舍入,即它總是將數值向上舍入為最接近的整數;
- Math.floor() 行向下舍入,即它總是將數值向下舍入為最接近的整數;
- Math.round() 執行標準舍入,即它總是將數值四捨五入為最接近的整數
var num = 25.7;
var num2 = 25.2;
alert(Math.ceil(num));//26 天花板函數
alert(Math.floor(num));//25 地板函數
alert(Math.round(num));//26
alert(Math.round(num2));//25
4.4 random()方法
Math.random() 方法返回大於等於 0 小於 1 的一個隨機數(獲取0到1之間的數)
// 獲取min到max的範圍的隨機整數
function random(min,max) {
return min+Math.floor(Math.random()*(max-min))
}
console.log(random(100, 400));
5. 流程式控制制
5.1 if條件判斷語句
var score = 100;
if(score > 80){
console.log('可以吃雞了');
}else if(){
console.log('在家呆著');
}else if{
}else{
}
5.2 三元運算符
三元運算符它解決了像if..else塊較少的代碼。如果你只有兩個通過true/false條件選擇。語法如下:
(codition) ? run this code : run this code instead;
讓我們看一下極簡的例子:
var isResult = 1 > 2 '真的' : '假的' ;
我們知道1是不大於2的,它返回了假的
。所以isResult的值為'假的'
。
5.3 switch語句
var weather = prompt('請輸入今天的天氣');
switch (weather) {
case '晴天':
console.log('可以去打籃球');
break;
case '下雨':
console.log('可以睡覺');
break;
default:
console.log('學習');
break;
}
4.== 與 === 的區別
var a = 2;
var b = '2';
console.log(a == b);//比較的是值,
console.log(a === b); //比較是值和數據類型
6. 迴圈
1.for迴圈
var arr = [8,9,0];
//1.初始化迴圈變數 2.迴圈條件 3.更新迴圈變數
for(var i = 0;i < arr.length; i++){
console.log(arr[i]);
}
2.while迴圈
// 列印1-100之間的數字
var a = 1;
while(a <= 100){
console.log(a);
a+=1;
}