js第三部分高级进阶
    
    
     
      数据类型
- 判断undefined和null可以直接全等判断 ,如  a === null ? a ===unfined
- 数据类型分类- js把数据类型分为:string,number,boolean,symbol,unfined,null 6类
- 使用typeof检测数据类型为这:string,number,boolean,symbol,object,function
 
- 使用instanceof可以检测对象的数据类型- [] instanceof Array//true
- [] instanceof Object//true
- 正则 instanceof RegExp//true
- 函数 instanceof Function//true
- 函数 instanceof Object//true
 
- undefined与null区别与出现- undefined出现与区别?- 定义了变量,却没有赋值
- 函数没有返回值 或者 return为空
- 函数形参需要接收参数,调用函数时未传递参数
- var变量提升时,//console.log(shao); var shao = 123;
 
- null出现与区别 - 定义变量为null时,表明后续需要对变量赋值为对象类型
- 没有获取到相应dom元素时,返回值 为null
- 使用正则match匹配时,未匹配到返回为null
- 后端语言是空指针时,返回的数据是null
- 释放变量赋值的对象时
 
 
- undefined出现与区别?
对象
- 当对象有以下情况时,必须使用 - obj[属性名]语法- 属性名存在特殊字符:空格 - / 等 
- 属性名是变量 - 1 
 2
 3- let obj = {}; 
 obj['content-type'] = 'text/json';
 obj['content/type'] = 'text/html';
 
原型
- 每个对象都有一个prototype属性,每个函数都有一个prototype和__ proto __ 属性- 对象的prototype默认是空对象,指向他的原型对象。原型对象上的属性constructor指向对应的实例对象。在创建对象时,会拥有原型对象的属性和方式
- 在创建实例对象new xxx时,原型对象prototype会赋值给this. __ proto __
 

- 通过在原型对象上添加属性或方法,可以在创建 实例对象时,拥有添加的属性和方法。创建实例对象时,只会拥有原型对象上prototype上的属性和方式,如 - 1 
 2
 3
 4
 5
 6
 7
 8- Date.test1 = ()=>{} ; 
 Date.prototype.test2 = ()=>{}
 /*
 const now1 = new Date();
 test1方法未能拥有
 test2方法在now1属性中
 */
- 本文标题:js第三部分高级进阶
- 本文作者:邵预鸿
- 创建时间:2022-06-29 07:58:47
- 本文链接:/images/logo.jpg2022/06/29/js第三部分高级进阶/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!