Lyrics


< More and better />


small TestJS

JS

  1. 四舍五入 Math.round(num)
  2. JSON 数据格式 可以是数组[ {“key” : “value”}] || 可以是对象{“obj”: “value”} || 多个以逗号分隔
  3. ES6 function *函数名(){ }返回的是一个迭代器 为Generator function;
    
    function *gen(){
     y 1;
     y 2;
     y 3;  //返回Generator 对象
    }
  4. jquery 中实现远程 http get请求 事件是 :$.get(url);

    1. $.ajax(opt)通过http请求远程加载数据 opt:一般为JSON格式 常见参数为 data type url async
    2. load(url) :方法是从服务器加载数据,并把返回的数据放入被选数据中 $(selector).load(url,data,callback); url 希望加载的url(必选),data(和请求一致发送的查询字符串键/值对集合)
    3. callback(是load()执行完后调用的回调函数)
    4. getScript()方法是通过HTTP GET 请求载入并执行JS文件 jQuery.getScript(url,success(response,status))
  5. isNaN 是数值返回false ,不是返回true

  6. const 声明的是一个变量时不可改的,但是对象的属性还是可以变的

    const G.a=7;console.log(G.a)//7;
    G.a=8;console.log(G.a)//8
    const A=7; a=9//TypeError

  7. let[head,….tail]=[1,2,3,4] console.log(tail)//[2,3,4];//类似数据结构中的头和尾
  8. JS 定时器 setTimeout理解

    function foo(){
    cosole.log(“first”);
    setTimeout(function(){
    console.log(“second”)
    },5);
    }
    for(var i=0;i<784544;;i++){
    foo();
    }
    //输出结果:先全部输出first ,后输出second
    //解析:Js是单线程的,定时器的作用是在规定时间内将事件加入队列,所以会提前先将队列之前的线程全部执行完才会执行定时器的事件

  9. JS中数字类型的总结

    1. js中,是弱对象,没有强制类型,由于变量内容的不同,变量被分为基本数据类型和引用类型,基本类型变量用 8 byte 存储,存储引用类型变量只是保存引用变量对象,数组或者函数等引用类型的值得引用(内存地址)
    2. js中数字不分类型 ,所以都是 8 byte
  10. JS异步编程的方法

    1. 回调函数
    2. 事件监听 (采用事件驱动方式)
    3. 发布,订阅模式
    4. Promises对象||是CommonJS工作组提出的一种规范,目的是为异步编程提供统一接口

    11.

    <div id="info"><p>KKK</p><div>  

    console.log(document.getElementById(“info”).innerHTML)
    //输出<p>KKk</p>

  11. sessionStorage保存数据: sessionStorage.setItem(“键名”,”健值”)

  12. Function.prototype.apply = function(testObj){
    // this 指向 testObj
    }

14 .浏览器利用JS 跨域的描述 :

  1. 域名domain,端口 prot ,协议 protocol 任何一个不同都不可以,(都会当做是不同的域)
  2. js支持JSONP进行跨域请求
  3. 通过document.domain 来跨子域
  4. 使用window.name来进行跨域
  1. ‘+ new Array(017)’ 输出 NaN ,分析: + 操作符 会将参数转化为数字返回,new Array(017) == new Array(15),所以是 先执行 valueOf 发现返回是自己,所以执行 toString 。 Number(new Array(15).toString()) //NaN

  2. typeof 判断变量的类型,返回值是类型,instanceof 判断变量是否是某个对象的实例,返回值是true ||
    false

下面那个语句可以在JS中判断一个 对象 OoStirng是否为String
typeof OoStirng ==”String” //wrong
typeof OoStirng ==”object” //right
OoStirng instanceof String //right

    1. 在原型上扩展的可枚举方法,会被for in 循环出来
  1. 使用 object .defineProperty 属性可以向对象添加或者修改属性,T.name=”GG”
  2. 每个对象都有 prototype 属性,返回对象类型原型的引用
  3. 原型 和原型链式JS实现继承的一种模型
  4. for 循环是按顺序的,for in 循环不一定按顺序(循环遍历对象的属性)使用for-in进行循环也被称为“枚举” 所以最好数组使用正常的for循环,对象使用for-in循环
  1. hasOwnProperty 可以检查属性是否在对象上存在,不会检查原型链

  2. 开发中如何规避函数重名问题 :
    1 . 根据不同的开发人员的实现功能,在函数名前面加前缀

  3. 可以将自己的函数封装在一个类中,用 类. 函数名来调用

    如何封装:

    person
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //共有的属性
    this .name="ZFF";
    this. age= 20;
    //共有的方法
    this.sayA= function(){
    this.age=this.age+2;
    }
    //私有的属性和方法,只能内部调用
    var Tea = "OO";
    function sayB(){
    }
    }