JS//变量类型和计算

在这里插入图片描述

JS——变量类型和计算

1 知识点

1.1 变量类型

值类型 VS 引用类型

值类型:Number / String / Boolean / Undefined / Null
引用类型:Object / Array / Function

typeof 运算符详解

number(NaN)、string、boolean、undefined、object(object/array/null)、function

typeof 123  //number
typeof 'abc'  //string
typeof true  //boolean
typeof undefined  //undefined
typeof null  //object
typeof { }  //object
typeof [ ]  //object
typeof console.log  //function

(1)undefined与null是相等;(2)NaN与任何值都不相等,与自己也不相等。

1.2 变量计算 - 强制类型转换

字符串拼接

var a = 100 + 10  //110
var b = 100 + '10'  //10010

== 运算符

100 == '100'  //true
0 == ' '  //true
null == undefined  //true

(1)undefined与null是相等;
(2)NaN与任何值都不相等,与自己也不相等。

if 语句

var a = true;
if (a) {
    
      }    //a为true
var b = 100;
if (b) {
    
      }    //b为true
var c = ' ';
if (c) {
    
      }    //c为false

false、null、undefined、“”、0、NaN ——判断为“fasle”,其余为“true”

逻辑运算

10 && 0  //0
' ' || 'abc'  //'abc'
!window.abc  //true

判断一个变量会被当做 true 还是 false
var a = 100
console.log(!!a)

2 问答

题目:
*JS 中使用 typeof 能得到的类型
*何时使用 === 何时使用 ==
*JS 中有哪些内置函数
*JS 变量按照存储方式区分为哪些类型,并描述其特点
*如何理解JSON

2.1 JS 中使用 typeof 能得到的类型

number / string /boolean / undefined / object / function
(number)/(string)/(ture.false)/(undefined)/(null.object.array)/(funtion)

2.2 何时使用 === 何时使用 ==

=== 严格相等,会比较两个值的类型和值
== 抽象相等,比较时,会先进行类型转换,然后再比较值

–只有下面这种情况使用==,其它情况使用===:

if (obj.a == null) {
    
    
    // 这里相当于 obj.a === null || obj.a === undefined ,简写形式
    // 这是 jquery 源码中推荐的写法
}

2.3 JS 中有哪些内置函数

Number / String / Boolean / Object / Array / Function /
Date / RegExp / Error

2.4 JS 变量按照存储方式区分为哪些类型,并描述其特点

  • 区分为——值类型、引用类型;
    值类型:Number / String / Boolean / Undefined / Null
    引用类型:Object / Array / Function
  • 区别:
    ①存储位置不一样
    值类型:占用空间固定,保存在栈中,保存与复制的是值本身,可以用typeof( ) 检测值类型;
    引用类型:占用空间不固定,保存在堆中,保存与复制的是指向对象的一个指针,需要使用instanceof( ) 检测数据类型,使用new方法构造的对象是引用型;

    ②复制方式不一样
    值类型的变量直接赋值就是深复制;
    引用类型的变量直接赋值是传递引用,是浅复制;

    ③能否添加属性和方法
    值类型不能,引用类型可以;

2.5 如何理解JSON

JSON 是一个 JS 对象

有两种方法:
①stringify:JSON.stringify将json对象转换为字符串
②parse :JSON.parse将字符串解析成json对象

JSON 也是一种数据交换格式

猜你喜欢

转载自blog.csdn.net/weixin_37877794/article/details/114166639