JS基础知识
来源:互联网 发布:淘宝上whoo后小样真假 编辑:程序博客网 时间:2024/06/09 16:44
一、变量
1、变量类型
值类型:number,string,null,boolean,undefined
引用类型:object,function,array
从内存分析,值类型把每一个值都存储在变量相应的位置,把数值分块存在内存中,变量赋值后不会相互影响,引用类型变量相当于一个指针,好几个变量共用一个内存块,变量赋值会相当于修改指针指向,所有指向该值的变量均改变
//值类型 var a=100; var b=a; a=200; console.log(b);//100 //引用类型 var c={age:23}; var d=c; d.age=21; console.log(c.age);//21
typeof运算符只能区分值类型的具体类型
console.log(typeof x); // undefined console.log(typeof 10); // number console.log(typeof 'abc'); // string console.log(typeof true); // boolean console.log(typeof null); //object console.log(typeof function () {}); //function console.log(typeof [1, 'a', true]); //object console.log(typeof { a: 10, b: 20 }); //object console.log(typeof NaN);//number console.log(typeof new Number(10)); //object
2、变量计算—–强制类型转换
//字符串拼接 var a=100+10; var b=100+'10'; console.log(a);//110 console.log(b);//'10010' //== console.log(100=='100');//true 100转化为字符串'100' console.log(0=='');//true 都转化为false console.log(null==undefined);//true 都转化为false //if var c=true; if(c){ //...; } var d=100; if(d){ //100转化为布尔值true //...; } var e=''; if(e){ //''转化为布尔值false //...; } //逻辑运算 console.log(10&&0); //0 遇false返回 console.log(''||'abc');//abc 遇true返回 console.log(!window.abc);//true window.abc是undefined 转化为false //判断一个变量被当成true还是false var f=100; console.log(!!f);//true
二、双等和三等
1、双等==:先转换两个操作数再判断,相等返回true,不相等返回false
console.log(null==undefined);//true console.log('NaN'==NaN);//false console.log(5==NaN);//false console.log(NaN==NaN);//false console.log(false==0);//true console.log(true==1);//true console.log(undefined==0);//false console.log(null==0);//false console.log('5'==5);//true
转化规则:
有一个操作数是布尔值时比较前将其转化为数值
字符串与数值比较将字符串转化为数值
一个操作数是对象一个不是。调用对象valueOf()方法转化为基本类型值
null和undefined比较规则: 比较相等性之前不能将其转化成任何值
有一个操作数是NaN返回false,NaN==NaN返回false
两个操作数都是对象则比较它们是不是同一个对象
2、三等===:操作数必须是相同类型才可比较
console.log(null===undefined);//false
3、使用情况:
if(obj.a==null){ //相当于obj.a===null||obj.a===undefined的简写 JQ源码的写法 //.... }
三、内置函数—数据封装类对象
1、boolean,number,string,object,array,function,date,RegExp,error
2、单体内置对象:global对象,math对象
四、理解json
json就是一个内置js对象
常用API
1、把对象变成字符串
JSON.stringify({a:10,b:20}) //{"a":10,"b":20}
2、把字符串变成对象
JSON.parse('{"a":10,"b":20}') //Object
阅读全文
0 0
- JS基础知识
- js基础知识
- js 基础知识
- js 基础知识
- js 基础知识
- js基础知识
- js基础知识
- js 基础知识
- js基础知识
- js 基础知识
- JS基础知识
- JS基础知识
- js基础知识
- JS基础知识
- JS基础知识
- js 基础知识
- js基础知识
- JS基础知识
- [BZOJ]4563: [Haoi2016]放棋子 容斥+高精度
- ...........................
- oracle视图、索引等
- 博客,我回来了!
- 一个不能继承的类
- JS基础知识
- MVP模式的的引用
- ios::exceptions()函数
- springMVC{扫描注解注入模式下}[jsp=>controller](前台传参到后台)
- poj 2155 Matrix(二维树状数组)
- InputStreamtoString
- Privacy Policy of MagiTile
- POJ 2918 Tudoku 笔记
- Linux——Vim