js的基础2

98 阅读3分钟

隐式转换
所有的隐式转换都和运算结果有关

    // 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'值