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
3let 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
8Date.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 许可协议。转载请注明出处!