數據類型包括:基本數據類型和引用數據類型html
基本數據類型指的是簡單的數據段,引用數據類型指的是有多個值構成的對象。python
當咱們把變量賦值給一個變量時,解析器首先要確認的就是這個值是基本類型值仍是引用類型值es6
1. number數組
var a = 123; //typeof 檢查當前變量是什麼數據類型 console.log(typeof a) //特殊狀況 var a1 = 5/0; console.log(typeof e1) //Infinity 無限大. number類型
2. stringdom
var str = '123' console.log(typeof str)
3. boolean函數
var b1 = false; console.log(typeof b1)
4. nullspa
var c1 = null;//空對象. object console.log(c1)
5. undefinedcode
var d1; //表示變量未定義 console.log(typeof d1)
String --> 至關於Python 字符串
Array --> 至關於Python 列表
Date --> 至關於Python timehtm
Math -->至關於Python random對象
所謂內置對象就是ECMAScript提供出來的一些對象,咱們知道對象都是有相應的屬性和方法
字符串方法
(1) chartAt() 返回指定索引的位置的字符
var str = 'alex'; var charset = str.charAt(1); console.log(charset);//l
(2) concat 返回字符串值,表示兩個或多個字符串的拼接
var str1 = 'al'; var str2 = 'ex'; console.log(str1.concat(str2,str2));//alexex
(3) replace(a,b) 將字符串a替換成字符串b
var a = '1234567755'; var newStr = a.replace("4567","****"); console.log(newStr);//123****755
(4) indexof() 查找字符的下標,若是找到返回字符串的下標,找不到則返回-1 。跟seach()方法用法同樣
var str = 'alex'; console.log(str.indexOf('e'));//2 console.log(str.indexOf('p'));//-1
(5) slice(start,end) 提取一個字符串的一部分,並返回一新的字符串。左閉右開 分割字符串
var str = '小馬哥'; console.log(str.slice(1,2));//馬
(6) split('a',1) 以字符串a分割字符串,並返回新的數組。若是第二個參數沒寫,表示返回整個數組,若是定義了個數,則返回數組的最大長度
var str = '個人天呢,a是嘛,你在說什麼呢?a哈哈哈'; console.log(str.split('a'));//["個人天呢,", "是嘛,你在說什麼呢?", "哈哈哈"]
(7) substr(start,length) 返回一個字符串中從指定位置開始到指定字符數的字符。
var str = '個人天呢,a是嘛,你在說什麼呢?a哈哈哈'; console.log(str.substr(0,4));//個人天呢
(8) toLowerCase()轉小寫
var str = 'XIAOMAGE'; console.log(str.toLowerCase());//xiaomage
(9) toUpperCase()轉大寫
var str = 'xiaomage'; console.log(str.toUpperCase());
(10) substring(indexStart,indexEnd) 提取字符串中介於兩個指定下標之間的字符。返回的子串包括 開始 處的字符,但不包括 結束 處的字符
indexStart
等於 indexEnd
,substring
返回一個空字符串。indexEnd
,substring
提取字符一直到字符串末尾。NaN
,則被看成 0。stringName.length
,則被看成 stringName.length
。indexStart
大於 indexEnd
,則 substring
的執行效果就像兩個參數調換了同樣(11) trim() 去除字符串兩邊的空白
特別:
//1.將number類型轉換成字符串類型 var num = 132.32522; var numStr = num.toString() console.log(typeof numStr)
//四捨五入
var newNum = num.toFixed(2)
console.log(newNum)
(1) 數組的建立方式
var colors = ['red','color','yellow'];
var colors2 = new Array();
(2) 數組的賦值
var arr = []; //經過下標進行一一賦值 arr[0] = 123; arr[1] = '哈哈哈'; arr[2] = '嘿嘿嘿'
(3) 數組的經常使用方法
(3.1) 數組的合併 concat()
var north = ['北京','山東','天津']; var south = ['東莞','深圳','上海']; var newCity = north.concat(south); console.log(newCity)
(3.2) join() 將數組中的元素使用指定的字符串鏈接起來,它會造成一個新的字符串
var score = [98,78,76,100,0]; var str = score.join('|'); console.log(str);//98|78|76|100|0
(3.3) 將數組轉換成字符串 toString()
var score = [98,78,76,100,0]; //toString() 直接轉換爲字符串 每一個元素之間使用逗號隔開 var str = score.toString(); console.log(str);//98,78,76,100,0
(3.4) slice(start,end); 返回數組的一段,左閉右開
var arr = ['張三','李四','王文','趙六']; var newArr = arr.slice(1,3); console.log(newArr);//["李四", "王文"]
(3.5) pop 刪除數組的最後一個元素並返回刪除的元素
var arr = ['張三','李四','王文','趙六']; var item = arr.pop(); console.log(arr);//["張三", "李四","王文"]
console.log(item);//趙六
(3.6) push() 向數組末尾添加一個元素或多個元素,並返回新的長度
var arr = ['張三','李四','王文','趙六']; var newLength= arr.push('小馬哥');//能夠添加多個,以逗號隔開 console.log(newLength);//5
console.log(arr);//["張三", "李四","王文","趙六","小馬哥"]
(3.7) reverse() 翻轉數組
var names = ['alex','xiaoma','tanhuang','angle']; //4.反轉數組 names.reverse(); console.log(names);
(3.8) sort對數組排序
var names = ['alex','xiaoma','tanhuang','abngel']; names.sort(); console.log(names);// ["alex", "angle", "tanhuang", "xiaoma"]
(3.9) 判斷是否爲數組:isArray()
布爾類型值 = Array.isArray(被檢測的值) ;
(3.10) shift() 刪除並返回數組的第一個元素
(3.11) unshift() 向數組的開頭添加一個或更多元素,並返回新的長度
(1).將數值類型轉換成字符串類型
var n1 = 123; var n2 = '123'; var n3 = n1+n2; // 隱式轉換 console.log(typeof n3);
var n1 = 123;
// 強制類型轉換String(),toString() var str1 = String(n1); console.log(typeof str1); var num = 234; console.log(num.toString())
(2).將字符串類型轉換成數值類型
var stringNum = '789.123wadjhkd'; var num2 = Number(stringNum); console.log(num2) // parseInt()能夠解析一個字符串 而且返回一個整數 console.log(parseInt(stringNum)) console.log(parseFloat(stringNum));
(3).任何數據類型均可以轉換爲boolean類型
var b1 = '123'; var b2 = 0; var b3 = -123 var b4 = Infinity; var b5 = NaN; var b6; //undefined var b7 = null; // 非0既真 console.log(Boolean(b7))
js中的運算符跟python中的運算符有點相似,但也有不一樣。所謂運算,在數學上,是一種行爲,經過已知量的可能的組合,得到新的量。
(1)賦值運算符
以var x = 12,y=5來演示示例|
(2)算數運算符
var a = 5,b=2
(3)比較運算符
var x = 5;
(4)特殊狀況
字符串拼接+字符串運算 特殊狀況。python中有拼接字符串中更簡便的辦法,其實在js中也有,你們能夠百度引擎搜索es6模板字符串。(擴展)
var firstName = '小'; var lastName = '馬哥'; var name = '伊拉克'; var am = '美軍'; // 字符串拼接 var str = "2003年3月20日,"+name+"戰爭爆發,以美軍爲主的聯合部隊僅用20多天就擊潰了薩達姆的軍隊。這是繼十多年前的海灣戰爭後,"+am+"又一次取得的大規模壓倒性軍事勝利。" var fullStr = str; console.log(fullStr) var fullName = firstName +" "+ lastName; console.log(fullName)
// 不能對字符串進行+運算 只能拼接 var a1 = '1'; var a2 = '2'; console.log(a1+a2) //12
var b1 = 'one'; var b2 = 'two'; // NaN. ==== not a number 是number類型 console.log(typeof(b1*b2))
建立日期對象只有構造函數一種方式,使用new關鍵字
//建立了一個date對象 var myDate = new Date();
//建立日期對象 var myDate=new Date(); //獲取一個月中的某一天 console.log(myDate.getDate()); //返回本地時間 console.log(myDate().toLocalString());//2018/5/27 下午10:36:23
寫個函數獲取時間如:2019年06月06日 17:47:32
function getTime() { var date_obj= new Date(); var year=date_obj.getFullYear(); var month=date_obj.getMonth()+1; var day=date_obj.getDate(); var hour=date_obj.getHours(); var minute=date_obj.getMinutes(); var seconds=date_obj.getSeconds(); var week=date_obj.getDay(); return year+"年"+month+"月"+f(day)+"日"+" "+hour+": "+minute+" :"+seconds+" "+num_week(week) } //Date方法: alert(getTime()); function f(num) { if (num<10){ return "0"+num; } return num; } function num_week(n) { week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"] return week[n] }
注意:以上getxxx的方法都是對時間的獲取,若是要設置時間,使用setxxx,請參考連接:http://www.runoob.com/jsref/jsref-obj-date.html
經常使用內置對象
6.1 Math.ceil() 向上取整,'天花板函數'
var x = 1.234; //天花板函數 表示大於等於 x,而且與它最接近的整數是2 var a = Math.ceil(x); console.log(a);//2
6.2 Math.floor 向下取整,'地板函數'
var x = 1.234; // 小於等於 x,而且與它最接近的整數 1 var b = Math.floor(x); console.log(b);//1
6.3 求兩個數的最大值和最小值
//求 兩個數的最大值 最小值 console.log(Math.max(2,5));//5 console.log(Math.min(2,5));//2
6.4 隨機數 Math.random()
var ran = Math.random(); console.log(ran);[0,1)
//0-100隨機數
var num=Math.random()*100
console.log(Math.round(num))
若是讓你取100-200之間的隨機數,怎麼作?
背過公式:min - max之間的隨機數: min+Math.random()*(max-min)
以上是我們介紹的JS經常使用對象的方法,若是想參考更多內容,請參考連接:http://www.runoob.com/jsref/jsref-tutorial.html