# js入门基础-变量类型和计算
`
--首先由于我使用了一个不太合格的markdown来编写来文章,所以在移动端阅读不要太方便,建议移动端使用横屏模式或pc端阅读,当然如果你有平板那是最好的。
--本文的方式是由:问题-->知识点-->案例,这样的流程,为方便阅读,实际上我己经将问题连同答案写在一起。
--第三本人才疏学浅,文笔简陋,不足之处,请多多指教。 下面就开始我们的正题: 在开始学习前的几个问题问题: 1、js使用typeof能得到的那些类型? undefined、boolean、string、number、object、function 2、何时使用===何时使用== if(obj.a==null){ //jquery内部写法
//这里相当于obj.a===null || obj.a===undefined的简写形式
}
除了以上这种,其他都用三等===来判断。 3、js有那些内置函数--数据封装类对象 Object、Array、Boolean、Number、String、Function、Math、Date、RegExp、Error。。。 4、js变量按照存储方式区分为那些类型,并描述其特点 -值类型 //不共用内存空间
-引用类型 //公用内存空间 5、如何理解JSON -js的一个内置对象
-是一种数据格式
JSON常用API:
JSON.stringify( { a:10,b:20 } ); //将json转为字符串
JSON.parse('{"a":10,"b":20}'); //将字符串转为json
其实还有一个evel(),但是该方法有一定的安全问题,后续文章会详细说明。 知识点:
1、变量类型
2、变量计算
3、typeOf运算符 变量类型:分为值类型和引用类型(对象,数组,函数) 值类型:
var a=100;
var b=a;
a=200;
console.log(b); //100,值类型的特点,有独自的存储空间,不共享存储空间 引用类型:
var a={age:18};
var b=a; //b也指向a的内存空间
b.age=22;
console.log(a.age); //22,引用类型特点,共享存储空间。 变量计算:轻强制类型转换 -字符串拼接
var a=100+10; //
var a=100+'10'; //'10010',发生强制类型转换,转成字符串。
-==运算符
100=='100' //true
0=='' //true
null==undefined //true
-if语句
var a=true;
if(a){
//...
}
var b=100;
if(b){ //不为0,即为true
//...
}
var c='';
if(c){ //null,即为false
//...
}
-逻辑运算
conseloe.log(10 && 0); //
conselo.log('' || 'abc'); //abc
console.log(!window.abc); //true
以上这三个例子,如果你可以发现出规律/原理,那么恭喜你,这说明你对逻辑运算符理解的还不错,
如果觉得有压力,你可以选择留言或者其他,在这里我先不解析,以后的章节也会有更详细的内容。 typeOf运算符: typeOf undefined //undefined
typeOf 'xianlin' //string
typeOf 22 //number
typeOf true //boolean
typeOf {} //object
typeOf [] //object
typeOf null //object
typeOf console.log //function
共:五种类型:undefined、string、number、boolean、object
tpeyof可以分出六种:undefined、string、number、boolean、object、function
从以上可知typeOf有能力区分值类型,但是无法区分引用类型,除function外,
因为在js种函数的地位非常高,所以它可以说是引用类型中的一个特例。`