摘要:類型裝換轉為數字類型會試圖將字符串轉為整型如果失敗返回如果前面是空格數字正負號時,當碰到第一個不是數字時停止裝換如果不是數字空格直接返回與沒有太大區別除了以下幾條轉為類型轉為類型在瀏覽器控制臺中字符類型是黑色的數字是藍色的其他類型轉
1.類型裝換 1.1 轉為數字類型
// Number console.log(Number(undefined)); //NaN console.log(Number(null)); //0 console.log(Number(true)); // 1 console.log(Number(false)); // 0 console.log(Number("123")); //123 console.log(Number("123a")); //NaN console.log(Number("1.23")); // 1.23 console.log(Number("+123")); //123 console.log(Number("-123")); // -123 console.log(Number("1+23")) // NaN console.log(Number("")); // 0 console.log(Number(" ")); // 0 console.log(Number("1 23"));// NaN console.log(Number("1$%23")); // NaN console.log(Number(" 123")); //123 console.log(Number("1.2.3")); // NaN console.log(Number(".23")); // 0.23 / parseInt() 會試圖將字符串轉為整型,如果失敗 返回NaN // 如果前面是空格 數字正負號時, 當碰到 第一個不是數字時停止裝換 // 如果不是數字空格直接返回NaN console.log(parseInt(undefined)); //NaN console.log(parseInt(null)); // NaN console.log(parseInt(true)); // NaN console.log(parseInt(false)); // NaN console.log(parseInt("123")); //123 console.log(parseInt("123a")); // 123 console.log(parseInt("1.23")); // 1 console.log(parseInt("+123")); //123 console.log(parseInt("-123")); // -123 console.log(parseInt("1+23")) // 1 console.log(parseInt("")); // NaN console.log(parseInt(" ")); // NaN console.log(parseInt("1 23"));// 1 console.log(parseInt("1$%23")); // 1 console.log(parseInt(" 123")); //123 console.log(parseInt("1.2.3")); // 1 console.log(parseInt(".123")) //NaN // parseFloat 與parseInt沒有太大區別 除了以下幾條 console.log(parseFloat("1.23")); // 1.23 console.log(parseFloat("1.2.3")); // 1.2 console.log(parseFloat(".123")) // 0.1231.2 轉為String 類型
// undefined null boolean 轉為String類型 var a = undefined + ""; console.log(typeof a); // string var b = null + ""; console.log(typeof b); // string var c = true.toString(); console.log(typeof c); var num = 20; var d = num.toString(); console.log(d); //在瀏覽器控制臺中字符類型是黑色的 數字是藍色的1.3 其他類型轉為Boolean類型
console.log(Boolean("")); //false console.log(Boolean(undefined)); //false console.log(Boolean(null)); //false console.log(Boolean(0)); //false console.log(Boolean(0.0)); // false console.log(Boolean(NaN)); // false console.log(Boolean(" ")); // true console.log(Boolean(1)); // true console.log(Boolean("abc")); // true2.isNaN and isFinite
console.log(isNaN(NaN)); //true console.log(isNaN("NaN")); //true console.log(isNaN(123)); // false // isFinite: 判斷既不是NaN類型 也不是InFinite類型 console.log(isFinite(123)) //true console.log(isFinite(NaN)); //false console.log(isFinite(Infinity)); //false console.log(isFinite(" ")) // true console.log(isFinite("123 ")) // true console.log(isFinite("123abc")) // false3.條件語句
if 語句
三目運算符 res = a>b?true:false (運行效率比if語句高)
switch語句
default break 都是可選語句了,當case后面沒有break語句時,如果條件匹配成功,直接貫穿所有case語句,直到執行break語句
4.循環語句while
do while
for
for(var i = 0; i < array.lenght; i++)
for(var i in array) // i 是下標
for(var i of array) // i 是元素
// js中循環是可以有名字的 // 語法格式 名稱:循環語句 //break continue 可以跳過或終止 帶有標簽名的循環 label1 : for(var i = 0; i < 10; i++){ label2 : for(var j = 0; j < 10; j++){ if(j == 3){ break label1; } console.log(i + " " + j); } }6.函數 6.1 函數的概述
函數名:建議使用駝峰規則
如果不寫return 系統默認 返回undefined
函數在調用時只要有該函數的聲明即可
function info(name, age) { document.write(name); document.write(age); } info("lily", "9"); // lily 9 info("lily"); // lily undefined info("lily","9","c","d") // lily 9 // Js不定長參數 function printSum(){ sum = 0; for(i in arguments) sum += arguments[i]; return sum } console.log(printSum(1,2,3))6.3 作用域
新的作用域:函數會產生新的作用域,循環,條件語句不會產生新的作用域6.4 變量的提升變量作用域
全局變量:定在文件中,但在函數外的變量為全局變量,使用范圍為整個文件的任意位置局部變量:在函數內部使用var聲明的變量為局部變量,使用范圍為該函數內部
var num = 100; /* * 在js中如果函數內部使用var聲明變量時,在代碼執行過程中,系統 * 會自動把變量的聲明語句(var )提到函數的最上方,這個操作叫做變量的提升 * */ function fun1 () { console.log(num); // undefined num = num +1 console.log(num); // NaN undefined + 1 = NaN var num = 200 console.log(num); // 200 } fun1();6.5 參數默認值
// 定義一個函數,該函數有兩個參數 // 參數的默認值 // 第一種方式: 在定義形參時,直接賦值 // 第二種方式: a = a||555; // 第三種方式: a = a ? a : 333 function func2(a, b=999){ // a = a||555; a = a ? a : 333 console.log(a); console.log(b); } func2(1,2); func2(4); func2();6.6 匿名函數
// 非即時函數 var a = function(num){ console.log(num); }; a(1233); // 即時函數 (function(num){ console.log(num); })(666); // 一般來說,匿名函數當做一次性函數使用,調用一次結束后, // 一般情況下會把匿名函數作為即時函數,但是任何函數都可以 // 即時執行 // 普通函數形式的即時函數 /*(function abc(){ alert("123") })();*/
Javascript ECMA-3 (數組,Date,正則)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95017.html
摘要:基礎建議一般情況下不在標簽中寫語句,因為該語句會在加載之前就執行,可能導致某些效果無效單行注釋多行注釋控制臺輸出語句瀏覽器的提示框這是一個提示框頁面展示數據類型一基本數據類型數字類型整型浮點型不是一個數字不能處理的數字字符串,使用單引號或雙 1.js基礎 建議:一般情況下不在head標簽中寫js語句,因為該js語句會在body加載之前就執行,可能導致某些效果無效 // 單行注釋 /*多...
摘要:一彈窗和輸出執行順序是從上到下執行控制瀏覽器彈出一個警告框讓計算機在頁面中輸出一個內容在中寫一個內容寫可以向中輸出一個內容看我出不出來向控制臺輸出一個內容作用是向控制臺輸出一個內容你猜我在哪出來二編寫位置可以將代碼編寫到外部文件中,然后通過 一.彈窗和輸出 **javascript執行順序是從上到下執行** 1.控制瀏覽器彈出一個警告框 alert(HelloWord); 2.讓計...
摘要:插入迭代器如前面兩條語句可以寫成使用直接量替換為替換為替換為如果要創建具有一些特性的一般對象,也可以使用字面量,如下前面的代碼可用對象字面量來改寫成這樣使用優化多次一旦需要更新請考慮使用文檔碎片來構建結構,然后再將其添加到現存的文檔中。 好贊,收藏自 總結的js性能優化方面的小知識(不喜勿噴) 前言 一直在學習javascript,也有看過《犀利開發Jquery內核詳解與實踐》,對...
摘要:基礎標識符所謂的標識符就是指變量函數屬性的名字,或者函數的參數。原始數組不會被改變。刪除或替換現有元素來修改數組并以數組形式返回被修改的內容。否則返回返回在數組中可以找到一個給定元素的第一個索引,如果不存在,則返回。 Javascript基礎 標識符 所謂的標識符,就是指變量、函數、屬性的名字,或者函數的參數。標識符主要有以下規則: 首字符必須是字母、下劃線_或者美元符$ 其他字符可...
摘要:復習基礎到底是什么的應用場合極其廣泛。常量不可以通過重新賦值改變其值,也不可以在代碼運行時重新聲明。布爾對象是原始布爾數據類型的一個包裝器整數整數可以用十進制基數為十六進制基數為八進制基數為以及二進制基數為表示。 復習js day1 js基礎 JavaScript 到底是什么 JavaScript 的應用場合極其廣泛。簡單到幻燈片、照片庫、浮動布局和響應按鈕點擊。復雜到游戲、2D 和 ...
閱讀 3690·2021-11-22 15:24
閱讀 1593·2021-09-26 09:46
閱讀 1904·2021-09-14 18:01
閱讀 2601·2019-08-30 15:45
閱讀 3526·2019-08-30 14:23
閱讀 1866·2019-08-30 12:43
閱讀 2915·2019-08-30 10:56
閱讀 800·2019-08-29 12:20