標籤:
7.number && 資料轉換為 number類型 初始化: var number = new Number(‘23‘);//使用建構函式建立 * 使用typeof操作符返回 ‘object‘;使用type函數返回‘number‘; var number = 23; //直接量 方法: number.toFixed();//保留幾位小數,結果會四捨五入;例如:1.0263.toFixed(2); 結果為 "1.03"; (8).toString(n);轉換為n進位的字串; 8..toString(); 轉換類型: 將別的轉換為數字有三種方法: Number(value) && +value; 為number類型直接返回value; 為Boolean類型,true->1;false->0; 為null,返回0; 為undefined,返回NaN; 為String: Null 字元串返回0; 如果字串中只有數字(可包含前置字元號), 則直接轉換為數字, 如果存在前置字元為零, 直接忽略; 如果字串中包含浮點格式(2.3), 規則同上; 如果字串中包含十六進位格式(0xf), 則將其轉換為相同大小的十六進位整數值; 如果字串包含其他格式字元, 返回 NaN; 如果是Object,則調用valueof()方法,對傳回值按照上面的規則轉換,如果為NaN,則在調用toString()方法,按照前面的規則轉換; paseInt(value)&&parseFloat(value,system); 把以system進位的value轉換為10進位的數字; Null 字元串時返回NaN 第一個字元不為數字或者加號或減號,返回NaN 第一個字元是數字時候就處理第二個,直到不是數字為止;例: ‘152abc,sda12‘ => 152 不認為小數點為合法字元,例:‘10.12‘ => 108.string && 轉換為string類型,操作字串 建立字串: var string = new String(‘alibaba‘); //建構函式; var string = ‘alibaba‘; //直接量,引號可為雙引和單引; var string = ‘ali\‘baba‘; => ali‘baba ‘被轉義; var string = ‘非列印字元: \n, \r, \t‘; var string = ‘使用十六進位表示, \x + nn: \x41‘; var string = ‘\u + nnnn: \u0061‘;使用unicode表示; 轉換為字串: String(value); ‘‘+value; (number).toString(sys);轉換為sys進位的字串; string的屬性和方法: length => 長度; string[n] =>訪問string裡面的第n+1個字元; concat() =>合并字串一般直接用+; replace(key, value) => 將key替換為value,key可以為Regex; indexOf(value) =>從前開始尋找value並返回value第一個字元的下標;如果為-1則為沒有找到; lastIndexOf(value) =>從後面開始尋找並返回value第一個字元的下標;如果為-1則為沒有找到; search() => 尋找value並返回value第一個字元的下標;如果為-1則為沒有找到; match(value) => 如果參數是string找到了則返回[value]長度為1;如果為Regex則返回所有匹配的元素構成的數組; slice()/subSting()\substr() => 截取字串,接收兩個參數begin,end(可選,沒有則截取到最後一個字元);返回包含begin下標不包含end下標的一個字串;參數可以為負數; split() => 使用字元或者RegEXP為參數切割字串,產生數組; toUpperCase() => 將小寫字母轉換為大寫字母; toLowerCase() => 將大寫字母轉換為小寫字母; charAt(number) => 返回number位置的字元; charCodeAt(number) => 返回number位置的字元的Unicode 編碼; String.fromCharCode(unicode) => 靜態方法,返回unicode對應的字元; trim() => 去除字串兩端的空格; trimLeft() => 去除字串左邊的空格; trimRight() => 去除字串右邊的空格; startsWith(str) => 判斷字串是否以str開頭 endsWith() => 判斷字串是否以str結尾 repeat(number) => 將字串平鋪number次; contains(val) => 判斷字串是否包含val();可用尋找方法代替,只要返回的值不為-1,即為包含; codePointAt(sub) => 返回sub對應的字元的編碼,比charCodeAt()支援更多字元; String.formCodePoint(val) => 靜態方法,返回編碼對應的字元;9.Blooean &&轉換為Blooean類型 建立: var flag = new Blooean(true);建構函式; var flag = true; 直接量; 轉換為Boolean類型方法: Boolean(val); !!val(); if(val) => 會對val進行隱式轉換;10.Array && Array的建立和操作 建立: var array = new Array(val); => 例: var array = new Array(2);建立一個長度為2的數組; [undefined,undefied]; var array = new Array(2, 3); => [2, 3]; var array = new Array(‘abc‘, ‘def‘, ‘456‘); => [‘abc‘, ‘def‘, ‘456‘]; var array = [2, 3, ‘abc‘] => 直接量; var array = ‘a,b,c,d‘.split(‘,‘); 數組的屬性和方法: [].length => 長度,非唯讀屬性;例:var arr = [a, b, c]; arr.length = 2; => arr = [a, b]; push(); => 從數組的尾部插入元素;var a = [1, 2, 3].pop(); => a =3; unshift(); =>從數組的頭部插入元素;var arr = [1, 2, 3]; arr.push(4, 5, 6); => arr = [1, 2, 3, 4, 5, 6]; pop(); => 刪除並返回數組的最後一個元素;vr = []; arr.unshift(1, 2, 3) => arr = [1, 2, 3]; shift(); => 刪除並返回數組的第一個元素; var a = [1, 2, 3].shift(); => a = 1; slice(); => 截取數組同string的類似;var arr = [1, 2, 3, 4, 5],arr1 = arr.slice(2, -1); => arr1 = [3, 4];arr不變; splice(); =>var arr = [1, 2, 3]; arr.splice(1, 1, ‘a‘,‘c‘); => arr = [1, "a", "c", 3]; concat(val); =>產生一個新數組,獲得兩個數組(也可以為string,obj,number)的值,作為參數的值放在數組的尾部; join(val); => 將數群組轉換為val分割的字串;例:var arr = [1, 2, 3]; arr.join(‘‘); "123"; arr.join(‘ ‘);"1 2 3"; reverves(); => 反轉數組順序; sort(); => 排序數組;可以接收一個函數為參數; indexof(); lastIndexof(); => 類似string的尋找方法;返回元素在數組中的位置;如為-1表示數組中沒有此元素; Array.isArray(); => 判斷是不是數組;類似 isNaN(); 新方法: forEach(); => 迴圈數組; every(func) => 數組是否滿足func條件;如果有一個不滿足就返回false; some() => 只要一個滿足就返回 true; map() => 根據當前數組,產生一個新數組; filter() => 返回一個滿足條件的新數組; reduce() => 對數組進行歸併操作,可以設定起始值; reduceRight() =>11.Object &&建立和操作; 對象分類: Math => 數學運算的對象; Date => 日期對象; Fucntion => 函數對象;所有的函數都可以看作是它的一個執行個體; Object => 所有對象的源頭;萬物皆對象; RegExp => Regex; 宿主對象: window top => iframe訪問外部的window對象; location history 自訂對象: var obj = {}; 初始化: var obj = new Object(); var obj = {}; 對象的屬性和方法; constructor; => 指標; function person(){}; var per = person.prototype;//獲得對象的原型; var arr = per.constructor;//原型訪問對象; arr => function person(){}; toString(); valueOf(); hasOwnProperty(key); => 識別那些是自己本身的屬性或者方法而不是繼承下來的屬性;12.Math對象; Math.PI => π; Math.SQRT2 => 根號2; Math.abs() => 絕對值; Math.random() => 返回一個0 ~ 1的隨機數; Math.max()\Math.min(); Math.aqrt() =>計算平方根; Math.psw(i, j); => 計算i的j次方; Math.floor(); => Math.floor(1.5) => 1; Math.ceil(); => Math.ceil(1.2) => 2; Math.round(); => Math.round(1.2) => 1; Math.round(1.5) => 2; Math.sin() => 返回指定度數的正弦值; Math.cos() => 返回指定度數的餘弦值; Math.atan2() => 返回正切值指定數位角度;13.URL; 方法: encodeURI(); => 對整個URL編碼; decodeURI(); =>對樓上編碼過的進行解碼; encodeURIComponent();//對?後部分進行編碼 decodeURIComponent() => 對樓上編碼過的進行解碼;14.Date對象; 初始化: var date = new Date(); var date = new Date(‘2014/10/01‘); 屬性和方法: toUTCString() => 根據世界時 (UTC) 把 Date 對象轉換為字串,並返回結果; getFullYear()\setFullYear(); =>擷取年\設定年 getMonth()\setMonth(); => 月 getDay()\setDay(); => 周 getDate()\setDate(); => 天 getHours()\getMinutes()\getSeconds()\setHours()\setMinutes()\setSeconds(); => 時分秒 getTime()\setTime(); => UTC時間毫秒;從1970/1/1 0:00;
js基本文法