【JavaScript知识总结一】JS中的变量类型、变量计算和内置函数的使用及注意点总结

 

1.JS中的变量类型

 var a = 100;            // 值类型不会因为赋值而相互干预
    var b = a;
    a = 200;
    console.log(b);     // 100
// 注意点:不仅仅是js对象{} 可以由自己的属性,JS中的数组和函数也都是可以有自己的属性的
 var a = {age: 20};
    var b = a;
    b.age = 21;
    console.log(a.age);  //21
    var arr = [1, 2, 3];
    arr.age = 25;                // 给数组添加一个属性
    console.log(arr);           //  [1, 2, 3, age: 25]
    var func = function(){}
    func.age = 'zhangsan';      // 给一个函数添加一个属性
    console.log(func.age);      // zhangsan
// ===============================================知识点总结==============================================================
// 值类型和引用类型的区别?
// 1. 值类型:每个变量都会存储各自的值。不会相互影响
// 2. 引用类型:不同变量的指针执行了同一个对象(数组,对象,函数)
// ===============================================知识点总结==============================================================

2. typeof 可以检测的数据类型

  // 2. typeof的测试(6种类型)[b-f-n-o-s-u]
    // 【基本数据类型】:Undefined null bool string number
    // 关键点:typeof只能区分值类型,不能区分引用类型
    console.log(typeof undefined);  // undefined
    console.log(typeof 'absdef');   // string
    console.log(typeof 123456);     // number
    console.log(typeof true);       // boolean
    console.log(typeof {});         // object
    console.log(typeof []);         // object
    console.log(typeof null);       // object
    console.log(typeof console.log); // Function
// ===============================================知识点总结==============================================================
// JS中使用typeof可以得到呢些类型 ?
// 1. JS中的基本数据类型:null, undefined, bool, string, number(typeof可以区分除了null以外的四种值类型)
// 2. typeof 6种类型:Object({},[],null), Undefined, Boolean, Number, Function, String
// 3. typeof可以区分值类型,typeof null = Object
// ===============================================知识点总结==============================================================

3.变量计算(强制类型转换)

// 3.1 字符串拼接
    var a = 100 + 10    // 110
    var b = 100 + '10'  // '10010'
    // 3.2 == 运算符
    100 == '100'            // true('100'=='100')
    0 == ''                 // true(false == false)
    null == undefined;      // true(false == false)
    // 知识扩展:何时使用==和===?
    var obj = {}
    if (obj.a == null){
        // 这里的if语句相当于是; if (obj.a === null || obj.a === undefined)
        // undefined == null  (true)      (JQuery中的源码中的推荐方式)【推荐】
    }
    // 3.3 if 语句
        if (true)
            console.log('ok');
    if (100)
        console.log('ok');
    if ('')
        console.log('error');
    // 3.4 逻辑运算
    console.log(10 && 0);       // 0
    console.log('' || 'abc');   // 'abc'
    console.log(!window.abc);   // true
    var a = 100;
    console.log(!!a);           // 【掌握】:把任意一个变量转化为一个bool类型
// ===============================================知识点总结==============================================================
// JS中 === 和 == 的区别?
// 1. 区别:== 会进行强制类型转换之后再比较,=== 不会进行强制类型转换的
// 2. 应用场景
//      2.1 (用于判断对象属性是否存在):if (obj == null)  ===>>>  等价于if (obj == null || obj == undefined),可以简化代码,其他情形都使用===进行比较
//      2.2 用于判断函数的参数是否存在: function(a, b){ if(a == null) { // ... }}
//      2.3 对于函数内部或者是一个对象的参数进行判断只会出现undefined, 而不会报错(慎用)
// 3. js中类型转换为false的有哪些(6种):null, undefined, NaN, '', false, 0
// ===============================================知识点总结==============================================================

4. JS中的内置函数和内置对象

内置函数:

 Object
    Array
    Boolean
    Number
    String
    Function
    Date
    RegExp
    Error

内置对象

 Math
 JSON
 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值