扎实 Javascript 基础 计划

  1. 掌握JS中的字符串、函数、对象、数组、字面量等基本概念,熟记所有内置的方法(包括参数和返回值)
  2. DOM事件和所有DOM方法一定要掌握的牢不可破;
  3. 学好正则表达式;

2017/08/12开始第 1 计划的实施,加油⛽️

阅后小记
  • typeof是操作符,并不是函数来的。只能用来检测基本数据类型(undefined/null/string/number/object/function),对于未初始化和未声明的变量做typeof,都会返回undefined,切记。但更多的时候,我们并不是想知道某个值是对象,而是想知道它是声明类型的对象,因此不得不提到instanceof操作符,该操作符在检测引用类型和Object构造函数时,都会返回true。当然如果使用instanceof去检测基本数据类型(undefine/null/boolean/string/number/)时,都会返回false;
    参考链接: js中typeof和instanceof用法区别

  • null类型值得注意⚠️的一点:如果定义的那个变量明确在将来是用于保存对象,那么最好在初始化该变量为null,代表是空对象指针。这样也能明确的与undefine(未初始化)区分开来;而在项目中很少有同事做到这一点,谨记!说到这,突然想起项目中遇到过的坑。

    'use strict';
    // 变量hoyin是通过接口获取的
    if(hoyin == null){
    //执行的代码
    alert(hoyin);
    } else{
    // 执行的代码
    }
    

    谁知接口那边没有返回hoyin的变量,那么hoyin直接就是undefined,但是没有意识到undefined == null为true。为了避免这种失误,有两种解决方法:

    if(hoyin === null){};// 强等于号,不会进行类型转换再比较
    if(!hoyin){};//这样不管是undefine还是null,都可行
    
  • 数值转换的3个方法: Number(), parseInt(), parseFloat();

    • Number() 方法可以转换任何类型数据,而其他那两个方法则专门是把字符串转换为数值。
    • 由于Number() 方法存在转换机制的复杂与有些不合理,所以几乎很多时候我们用到的都是 parseInt 和 parseFloat 方法进行转换。切记 psrseInt可以解析任意进制的数值,所以转换时应明确的指定基数,p如:parseInt(‘1234’, 10); parseInt(‘AF’, 16); 而parseFloat只能解析十进制,所以不会有第二个参数指定基数。
  • toString() 方法在项目中还是比较常用的,数值/布尔值/对象/字符串都内置了这个方法,但是null和undefine是没有的,所以在进行toString()是有必要注意⚠️一下这两个类型。不过还有一个方法是所有类型的数据都内置的,那就是String(),它其实是在toString()的基础上加上null和undefine,null=》null,undefined=》undefined,这样都不会报错。哈,还有一个冷门的知识点就是数值的toString() 可以传递参数(基数),p如:var num =10; num.toString(16);

  • Object对象类型都有一下内置的方法:

    • constructor:保存着创建当前对象的函数,也就是构造函数。
    • hasOwnProperty(propertyName):这个方法在项目中经常用到,用来剔除继承原型中的属性,确保用到的属性都是当前对象实例的。注意⚠️参数必须是字符串。
    • isPrototypeOf(object): 用于检查传入的对象是否是传入对象的原型
    • toLocalleString(): 返回对象的字符串
    • toString(): 返回对象的字符串
    • valueOf():返回对象的字符串,数值或 布尔值表示

    关于valueOf 和 toString的理解还不够到位,扒了相关的博客:valueOf函数与toString方法深入理解

    这里写图片描述
    搜到博客对于数组的valueOf方法的描述有些疑惑,通过实践证明得到的并不是由逗号拼接而成的字符串(望有大神解答),而是原始值:
    这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值