1.nodejs運行js的時候
navigator如果找不到可以可設置為空對象
var navigator={};
2.使用nodejs如果window對象找不到的時候
可以使用jsdom模塊
3.頂層代碼調用的對象的this
瀏覽器里表示window,nodejs中表示object
4.以下獲取屬性的兩種方式
obj.x //寫死代碼里
obj["x"] //可以動態調用屬性,[]內是字符串
5.xhr相關
var xhr = new XMLHttpRequest(); //創建xhr對象
xhr.open("GET", url, true); //請求數據 用GET方法 異步獲取
xhr.onreadystatechange = function() { //一個事件可以獲取請求之后的東西
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
}
};
6. 在js中使用Function可以實例化函數對象,也就是說在js中函數和普通對象一樣。
函數是Function的實例
語法:
new Function(arg1, arg2........argN, body);
1,Function中的參數全部是字符串。
2,構造函數的作用是將參數連接起來構成函數。
* 如果參數只有一個即是表示函數體。
* 如果參數多個,最后一個為函數體,前面的全是表示函數參數。
* 如果沒有參數,即創建空函數。
以下兩種創建函數示例的方法是一樣的
function foo(num) {
console.log(num)
}
等價於
var func = new Function("num","console.log(num);"); //參數都是字符串,最后一個參數是函數體的內容。
分別通過以下方式調用
foo(5)
func(5)
7.使用require模塊化,define使用
define(['myLib'], function(myLib) {
function foo() {
myLib.somefunction()
}
return {
foo: foo
};
});
8.use strict 指令
嚴格模式中 所有的變量都要聲明(在非嚴格模式中,給未聲明的變量賦值,是給全局對象window對象添加一個屬性)
嚴格模式中 函數(不是方法)中的this值為undefined,非嚴格模式指代全局對着(window)
9.&&可以當if使用
var a;
1==1 && a=2
表示如果前面條件1==1為true,則a=2。
10.btoa是window下的方法,相當於base64
11.參數加密規則
對於不知道的加密字符串,首先為HEX,然后按照下面表嘗試
ggzip 1f .8b. 08
lzma 6c.00
zlib 78.51
12. 參數獲取途徑
1.直接HTML源碼
2.寫死在JS
3.來自cookie
4.響應中獲取
13. 無限debugger
當
(function(){}).constructor ===Function
執行
Function.prototype.constructor=function(){};
回車
可以置空。