02. js逆向需要的js知识

1. js简介

2. 与css和html之间的关系

html是结构层,闲荡与人的骨骼

css是表现层, 相当于衣服

js是行为层, 相当于人的行为和动作

2.js语法

2.1 数据类型

Object对象

  • 是以key-value键值对的形式存在的集合
  • 键 都是字符串类型
  • 值 可以使任何类型
  • 对象的拷贝分为深拷贝和浅拷贝
    • 浅拷贝:支付至对象内存地址,类似于指针
    • 深拷贝:完全克隆,生成一个新对象

 

let obj = {hello:'world'};
let obj1 = obj;  // 浅拷贝 对新值进行修改会改变原来的值
let obj2 = JSON.parse(JSON.stringify(obj));  // 深拷贝, 生成一个新的对
        // this is an object
        let me = {
            name:'zj',
            age:'19',
            gender:'male',
            hobby:'game'
        };

        // assign attributes
        me.title = 'mr';
        me.education = 'collage';

        // get all keys
        Object.keys(me);

        // get all values
        Object.values(me);

        // iterate
        for (let key in me) {
            if (me.hasOwnProperty(key)){
                const value = me[key]
            }
        }

Array数组

  1. 数组是一个有序排列的集合
  2. 数组的值可以使任意类型
  3. 数组的拷贝分为深拷贝与浅拷贝
    1. 与对象一致

  

    let items = [1,2,3,4,5];

    alert(items[0]);

    items[0] = '0';

    items.length;

    items.push(6);
    items.pop();

    // 插入/替换元素
    items.splice(
        0, //要插入的位置
        0, // 替换多少个元素
        'a' // 替换成什么元素
    );
    // 删除元素
    items.splice(
      1, //从哪个元素开始删
      2  //删除多少个元素
    );

    // 遍历元素
    items.map(d => d+1);   返回一个新数组
    items.forEach(d => {   不返回新数组
        // dosomethint
    })

String字符串

  单引号或者双引号括起来的数据

Number数字

  任何表示数组的类型

Boolean布尔值

  表示true 或者 false的类型

Map映射

  • 键值对关系的集合
  • 与对象不同的是,键可以是任意类型
  • let m = new Map([[1,1], ['1', '1']])

Set集合

  • 相当于不重复的数组
  • let s = new Set([1,1,1,1,2])

null/undefined

  • null 表示该值为空
  • undefined表示未定义

=== 双方值相同, 类型也相同,  == 将两个值转换成同类型, 再进行比较

js控制流

循环

while

for

array

  map

  foreach

    let a = 0;
    while (a<10) {
        a++
    }

    for(let i=0;i<10;i++){
        console.log(i);
    }

    const arr = [1, 2, 3];

    const arr2 = arr.map(d => d+1);

    arr.forEach(d => console.log(d));
    

条件控制

    let b = 1;
    let c = 2;
    if (b > c){
        // do something
    } else if (a === b) {
        // do something
    } else {
        // do something
    }
原文地址:https://www.cnblogs.com/zhangjian0092/p/12239118.html