变量类型和计算

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

变量类型

  • 值类型vs引用类型
  • typeof 运算符详解
//值类型
var a = 100;
var b = a;
a = 200;
console.log(b)//100

//引用类型
var a = {age:20};
var b = a;
b.age = 20;
console.log(a.age);//21

值类型赋值时相当于把变量赋值一份,所以两个变量啊a,b是隔离的,互相不受影响;
引用类型相当于指向同一个对象,a,b指向同一个对象,那么修改一个变量的属性相当于修改引用对象的属性,所以a,b会互相影响;

值类型:undefined string number Boolean
引用类型:对象,数组,函数;
引用类型有个特点可以无限扩展属性;

JS中适用typeof能得到的哪些类型?

typeof undefined;//undefined
typeof 'abc';//string
typeof 123;//number
typeof true;//boolean



typeof {};//object
typeof [];//object
typeof null;//object
typeof console.log;//function

前面4个是值类型,后面的引用类型;
typeof null是引用类型是因为null也是一个指针,但是它指向的是一个空对象;
typeof console.log可以检测出是function类型是因为函数类型是js中一个很重要的存在。
typeof只能区分值类型,不能区分引用类型;

如何判断对象的数据类型?

JavaScript中有6中数据类型:string,boolean,object,null,undefind.number
方法一:typeof
typeof只能区分值类型,不能区分引用类型,即只能判断string ,Boolean,null,undefined,number,其余都返回object,除了function外。
方法二:instanceof
用来判断数组和对象,不能用于判断string和Boolean。
方法三:constructor
数组和对象。
方法四:利用tostring()
object.prototype.toString().call()
方法五:利用jquery的 .isPlainObject(); . i s P l a i n O b j e c t ( ) ; .isArray(obj);$.isFunction(obj)进行判断。

变量计算–强制类型转换

  • 字符串拼接
  • == 运算符
  • if语句
  • 逻辑运算
100 ==100//true
0 == ''//true
null == undefined // true


var a = true;
if(a){
//}
var b = 100;
if(b){}
//都会发生强制类型转换


console.log(10&&0)//0
console.log(''||'abc')//abc
console.log(!window.abc)//true


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

何时使用===何时使用==
在一般的判断中我们都应该使用===,但是在代码中obj.a==null代表obj.a===null || obj.a===undefined,所以只有在判断对象中某个属性的时候用==null,其他地方都使用===。

js有哪些内置函数
object
function
Boolean
string
number
date
array
regexp
error

JS变量按照存储方式区分为哪些类型,并描述其特点
引用类型 值类型
值类型的值赋值后隔离的;
引用类型不会,他们引用的是同一个对象;

如何理解JSON

  • 只不过是一个对象而已,同时也是一个数据格式;
  • 有两个常用API
JSON.stringify({a:1,b:2})//对象转化成字符串
JSON.parse({'a':1,'b':2})//字符串转化成对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值