js逆向笔记

1.nodejs运行js的时候

navigator若是找不到能够可设置为空对象node

var navigator={};

2.使用nodejs若是window对象找不到的时候

能够使用jsdom模块浏览器

3.顶层代码调用的对象的this

浏览器里表示window,nodejs中表示objectdom

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)ui

9.&&能够当if使用

var a;
1==1 && a=2

表示若是前面条件1==1为true,则a=2。this

10.btoa是window下的方法,至关于base64

相关文章
相关标签/搜索