js高级学习(一)

一:基础深入

  • 用于判断数据类型
    typeof,返回值是数据类型的字符串,比如检测undefined,返回值为’underfined’
    可以判断:undefined/ 数值 / 字符串 / 布尔值 / function
    不能判断: null(object )与object object与array(object )
    在这里插入图片描述在这里插入图片描述

instanceof:
判断对象的具体类型
===(相同且类型相同,==只要相同,不需要类型相同):
可以判断: undefined, null
在这里插入图片描述

  • 什么时候必须使用[‘属性名’]的方式?
    属性名包含特殊字符: - 空格
    属性名不确定(属性名为变量)
    在这里插入图片描述
    在这里插入图片描述

  • 执行函数修改this指向
    test2.call/apply(obj): 临时让test2成为obj的方法进行调用,修改this的指向,call和apply第一个参数都是修改的this指向的对象,call后面的参数为执行test2函数传递的参数,和apply的区别在于,apply会把所有携带的参数放入一个数组中

在这里插入图片描述

  • 立即执行函数(Immediately-Invoked Function Expression—IIFE)
    作用
    1) 隐藏实现
    2)不会污染外部(全局)命名空间
    3)用它来编码js模块
    在这里插入图片描述

  • 原型(prototype)
    在这里插入图片描述在这里插入图片描述

  • 显式原型和隐式原型(prototype 和 proto__)
    在这里插入图片描述
    在这里插入图片描述
    图解在这里插入图片描述

  • 原型链
    访问一个对象的属性时,
    先在自身属性中查找,找到返回
    如果没有, 再沿着__proto__这条链向上查找, 找到返回
    如果最终没找到, 返回undefined
    别名: 隐式原型链
    作用: 查找对象的属性(方法)
    在这里插入图片描述

  • 探索instanceof
    1) instanceof是如何判断的?
    表达式: A instanceof B(B为函数,A为实例对象)
    如果B函数的显式原型对象在A对象的原型链上, 返回true, 否则返回false
    2) Function是通过new自己产生的实例
    在这里插入图片描述
    图解
    在这里插入图片描述
    测试
    在这里插入图片描述
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值