/*
* 知識點1: 變數宣告提公升,但是賦值不不會提公升
*/var a = 1;
if(true)
console.log(a); //2
console.log(b); // 3
b = 4;
/** 知識點2: 同一識別符號的前提下, 宣告都會提公升,且函式宣告會覆蓋變數宣告。 但是初始化或賦值時,變數優先順序高於函式。
*/console.log(a) // a(){}
var a = 1;
function a(){};
console.log(a) // 1
/** 知識點3: 函式的實參可以通過arguments對應索引來改變值, 函式外變數於函式形參同名時,不會影響形參內的賦值及原始值
*/var a = 1;
function fun(a, b)
console.log(fun(0, 0)); // 4
console.log(a) // 1
/*知識點4: for 迴圈為同步任務,settimeout 為非同步任務。主任務知曉完成後才會將非同步任務佇列推入執行;
for 迴圈完成後i 值為5, 所以最後的console.log 輸出5
*/for(var i=0; i<5; i++) , 0)
}console.log(i) //5
/*知識點5: 普通函式的繼承及例項化為先例項化子類建構函式,後例項父類建構函式;
函式內及原型上的變數,只能在例項化後可訪問,直接通過方法訪問報 error
(先查詢自己 建構函式,然後查詢繼承物件的建構函式,然後查詢繼承物件的原型鏈.... 如果找到則停止後續查詢)
*/function a() ;
a.prototype.num2 = 2;
function b();
b.prototype = new a();
var b1 = new b();
console.log(b1.num1); // 3
console.log(b1.num2); // 2
var b2 = b();
console.log(b2.num1); // error
console.log(b2.num2); // error
/** 根據陣列目錄樹集合,輸出樹物件
*/var data=[,,
,,,];
var parentids = new set(data.map(item=>item.id)) ; // 自己寫乙個獲取id集合的去重函式。 [0,1,2,3,4]
function createtreelist (arry, newarry, parentid)
});if(!newarry.length) else
if(item.id == parentid) })}
if(parentids.length==0)
createtreelist(arry, newarry, parentids.splice(0,1)[0])
return newarry;
}var newarray = createtreelist(data, , parentids.splice(0,1)[0]);
console.log('newtree:',newarray)
JS 基礎知識點總結
1.1外部應用 js檔案只要書寫 js 即可 不需要使用包裹 最好寫在html 的後面 1.3行內樣式 在html元素標籤中寫入例 2.1檢視變數型別使用 typeof 例 alert typeof a 資料返回值 宣告未賦值 undefind boolean true false number 整...
JS正則知識點總結
正則的常用方法 正規表示式中有很多符號,代表著不同的意思,用來讓我們去定義不同的規則,比如上面 d,還有下面的這些 s 空格 s 非空格 d 數字 d 非數字 w 字元 字母 數字,下劃線 w 非字元例子 是否有不是數字的字元 1 test 在字串中查詢符合正則的內容,若查詢到返回true,反之返回...
JS基礎知識點
1.js基本資料型別 number 數字型別 string 字串 boolean 布林型別 ture false 非0即為真 null 空值 有值,值為空 undefined 未定義的 沒有值 object 物件型別 array 陣列 js語言特點 1.解釋性執行,指令碼語言 2.物件導向 一切事物...