隐式转换
所有的隐式转换都和运算结果有关
// var arr =[1,[],true]
// var obj = "[name='xx']"//("")('')都是是字符串"
// alert(obj)//[object,object]
// document.write('arr')//document.weite在网页中输出文字
//1.当布尔类型遇到算数运算符一般转换为number类型
// true 1 false 0
//页面中所有的内容:只有字符串格式数据才能展示
var res1 = true+false;//res1 = 1 + 0
console.log(res1); // 1
var res2 = '123'-1;//res2 = (123-1) = 122
console.log(res2);
//空的字符隐式转换 number 为 0,,,,,,bxbb
var res3 = ''-1;//res3 = 0-1 = -1
console.log(res3);
//非空非数字字符 隐式转换number 为NaN
//5.任意数据与NaN运算结果都是NaN
var res4 = 'xx'-1;//res4= NaN-1 = NaN
console.log(res4);
//undeFinde 转换为number为NaN
var res5 = undefined - 1;//res5= nan-1
//null转换为number为0
var res6 = null - 1//res6=0-1
console.log(res6)
//res7: 数组和对象转换为number:先隐式转为字符串,再由字符串转换为number
var res7 = [1,2,'ww'] - 1//res7 = NaN - 1 = NaN
console.log(res7)
//res8
var res8 = [111] - 1 //res8 = 111-1 = 110
console.log(res8)
var res9 = {name:'xx'} - 1//res9 = NaN-1 = NaN
console.log(res9)
自增与自减
++自增,每次执行的时候:给操作数自身增加1
--自减, 每次执行的时候,给操作数自身减少1
// var count = 1<br>
// //先赋值后运算<br>
// //先把count的值赋值给res再进行count自增运算 <br>
// var res = count++;<br>
// //res = count = 1<br>
// caches.log(res,count);<br>
// var count1 =1<br>
// //先运算再赋值
// //先给count1自增运算:再将运算结果赋值给res1
// var res1 = ++count1;
// console.log(res1,count1);
// var num = 2
// var a = 2
// var result = num++ + ++num + ++num
// //num++ = 2 ++num=1(1+2) ++num=1+(1+3)
// // num=2 + 1+nun+1
var num1 = 2;
var a1 = 2;
var result4 = num1++ + ++num1 + num1++ + num1++
// 2 (2+1)+1 3+1 3+1+1
//前面加++自身+1 后面++就是后面的值+1
console.log(result4);
var c=2;
var result9 = ++c + ++c + c++ + c++ + ++c + c++;
// (1+2)+(3+1)+ 4 + (4+1) + (6+1) 7
console.log(result9);
比较关系运算符
//比较关系运算符,表达式返回结果为Boolean(布尔型)
//字符串数据的比较规律
//从第一个字符开始比较,先将字符转换为阿斯克码或者Unicode编码值就行比较
//与字符串的字符长度无关
var a = '11';
var b = '12';
var c = '13'
//true(真的) false(假的)
var d = a>b;
d = a==b;//判断 a和b的数据大小是否相等
d = a===c;//判断a 和 c的数据类型相等并且大小也相等
d = a!=b//判断a和b的大小是否不相等
d = a!==b//判断a和b的类型或者大小不相等
//注意
//=:赋值
//==:等于
//===:全等于
js的数据类型
var init = '引号里的内容可以随意填写,网页中所有的可见内容基本都是字符串'
var num = 12;//number 数值型
var num_float = 0.1//number 设置型/浮点数
var bool = true//boolean布尔型
var bool_f = fales;//布尔型只有两个值 true和false
var un = undefined;//undefined类型 表示一个变量没有赋值
var nu = null;//表示空值
//js的基本数据类型有哪些?
//undefined() 与 null 的区别是什么
//undefined 表示未定义:但是赋值了,值就是undefined
//null表示空的 值不存在
//为什么说unfinished的值是存在的?null是不存在的?
//相对内存,Undefinedb在内存中占空间,null在内存中不占地,
var un1;
un1 = 'undefined';//内存中空间存在,直接更改数据
var nul = null;
nul = 'null'//在内存中先开辟一个空间,再存'null'值