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(){};