阅读阮一峰网络日志笔记

  1. JavaScript加法运算符
算法步骤:
    • 如果运算字是对象,先自动转成原始类型的值(即先执行改对象的valueOf方法,如果结果不是原始类型的值,
      再执行tostring方法;如果对象是Date实例,则先执行tostring)
    • 两个运算子都是原始类型的值之后,只要有一个运算子是字符串,则两个运算子都转为字符串,执行字符串连
      接运算。
    • 否则,两个运算子都转为数值,执行加法运算。
2. Base64转码
    • btoa():将字符串或者二进制转为Base64编码
    • atob():Base64编码转为原来的编码
    • var string = 'hello world';
      btoa(string);//SGVsbG8gV29ybGqh
      atob('SGVsbG8gV29ybGqh');//hello world
      但是,这两个方法不适合非ASCII编码的字符,会报错
      例如:btoa('你好')//Uncaught DOMException: The string to be encoded contains characters outside of the Latin1 range.
      要将非ASCII码字符转为Base64编码,必须中间插入一个转码环节,再使用这两个方法
      优化方法:
      function b64Encode(str){
      	return btoa(encodeURIComponent(str));//编码
      }
      function b64Decode(str){
      	return decodeURIComponents(atob(str));//解码
      }
  1. 字符串对象的方法中与正则相关
    •   match():返回一个数组,成员是所以匹配的子字符串。
        search():按照给定的正则表达式进行搜索,返回一个整数,表示匹配开始的位置
        replace():按照给定的正则表达式进行替换,返回替换后的字符串
        split():按照给定的规则进行字符串分给,返回一个数组,包含分割后的各个成员。
  1. Object对象与继承
    •  1.Object.getOwnPropertyNames():返回一个数组,成员是对象本身的所有属性的键名,包含继承的属性键名
       2.Object.keys(obj):返回对象的所有可以枚举的属性
       3.Object.prototype.hasOwnProperty():返回一个布尔值,用于判断某个属性定义在对象自身,还是定义在原型链上
       4.in运算符与for..in循环 in运算符返回一个布尔值,表示一个对象是否具有某个属性,它不区分该属性是对象本身的属性还是继承的属性; for..in循环返回可枚举的属性数组
  1. this关键字
    • 1. call 指定该函数内部this的指向即函数执行是所在的作用域,然后在所指定的作用域中,调用该函数
      	格式:func.call(obj,arg1,arg2,...)//obj 为this指定的对象
      2. apply与call类型,区别是调用方法的参数不同
      	格式:func.apply(obj,[arg1,arg2])//obj为this指定的对象
      3. bind用于将函数体内的this绑定到某个对象,然后返回一个新函数
  1. 浏览器渲染引擎
    •  FireFox:Gecko引擎
       Safari:Webkit引擎
       Chrome:Blink引擎
       IE:Trident引擎
       Edge:EdgeHTML引擎
  1. XMLHttpRequest实例
    1. readyState,表示当前XMLHttpRequest请求所处的状态
      • 0:对应常量UNSENT,表示实例已经生成,但是Open方法还没有被调用
        1:对应常量OPENED,表示send方法还没有被调用,任然可以使用setRequestHEader()设定HTTP请求的头信息
        2:对应常量HEADERS_RECEIVED,表示send方法已经执行,并且头信息和状态码已经收到
        3:对应常量LOADING,表示正在接收服务器传来的body部分的数据,如果responseType属性是text或者空字符串,responseText就会包含已经收到的部分信息
        4:对应常量DONE,表示服务器数据已经完全接收,或者本次接收已经失败了
    1. status,表示背刺请求所得到的HTTP状态码
      • 200:OK,访问正常
        301:Moved Permanently,永久移动
        302:Moved temporarily,暂时移动
        304:Not Modified,未修改
        307:Temporary Redirect,暂时重定向
        401:Unauthorized,未授权
        403:Forbidden,禁止访问
        404:Not Found,未发现指定网址
        500:Internal Server Error,服务器发生错误



你可能感兴趣的:(阅读阮一峰网络日志笔记)