typeof

287 阅读2分钟

书写

  • typeof 空格 值 typeof num

  • typeof() typeof ()

  • 基础值 number string boolean object underfined

         123 numner
        "123" string 
         true boolean
         泛泛引用值是object [], {},null
         underfined underfined
         function (){}  function
    

显示类型转换

1 Number() 想发设法的变成数字

  • var num =Number('123') number 123

  • true>1 false> 0 null>0 underfined>NaN a>NaN -123>-123(负值) 123abc>NaN ** 将括号里的东西转换成数字123

  • 1 * " 1 " number 1

  • "1" * "1" number 1

2 parseInt

1. Z 转换成整数 有小数点去掉 只关注数字字符串和小数
  • "123" number类型 123
  • "true" NaN
  • "false" NaN
2.基低
  • parseInt("10",16) 以 16为基底转换为10进制数
    将16进制的10转换成10进制的数
  • parseInt("3",2)值为NaN
  • 2到36进制 ,不存在1进制
3.以数字位开始看一直看到非数字位砍断
  • parseInt("1234abd") 1234
  • parseInt("1234px") 1234
3 parseFloat 无基底只有一个参数
  • parseInt("1234.2") 1234
  • parseFloat("1234.2abbc") 1234.2

4 String

  • underfined true false 都变成字符串
  • String(underfined) underfined是字符串类型的
5 Boolean
  • Boolean("123") 值位true
6 toString() 以10进制转换成目标进制过程
       var demo=123
        demo.toString();
        //"123"
注意 underfined和null不能用toString()方法
  • 基底 (基底)

        var demo=10
         demo.toString(8);
         //12
    

习题1.1 2进制转换成16进制

       var num = 1010101;
       // 2进制转换成10进制 
       var test = parseInt(num)
       //  10进制转换成16进制
       test.toString(16)

习题1.2 toString()

      1. underfined和null 不能使用

隐示类型转换

    1. isNaN()方法判断数是不是NaN 对应NaN

       isNaN(NaN)    true
       isNaN(123)    false
       isNaN("123")  false
       isNaN("abc") true
       isNaN(null)   false
      
Number(demo) NaN<--->NaN
Number()隐士类型的转换
  • 2.++/-- + / - (一元正负)

        var a ="123"
         a++;//++之前先把前面的东西转换
        //a=124
    
        var a ="abc"
        a++;//++之前先把前面的东西转换
        //a= NaN
    
       var a+="abc"
       打印a
       +a;//变换成数字
       -a;//变换成数字
       直接转换成NaN  但是number类型
    
  • 2.+号

      +号是连接字符串
       -a;//变换成数字
       直接转换成NaN  但是number类型
    
  • 3.-*/%

        var a = "a"*1
       NaN   类型number
    
  • 4.&& || ! boolean隐士类型转换

  • 5.><>=<= boolean隐士类型转换

        1>"2"  转换成数字,数字优先
        "1">"2" asxii码转换
    
  • 6.== != boolean隐士类型转 1==true true 等于的 false>true false 2>1>3 false 挨个算

NaN==NaN

  • ==有隐士类型的转换
  • === !==
  • 变量未定义就访问 报错
  • typeof(a) 不定义直接打印是underfined
  • typeof(typeof(a)) 值 string //typeof返回值类型string

习题

      <script type="text/javascript">
		document.write(typeof(a)) 
		// underfined
	   * 	document.write(typeof(underfined))
		// underfined
		document.write(typeof(NaN))
		//number
		document.write(typeof(null))
		// object 
	        var a="1234abc"  
	        document.write(typeof(+a)) 
	   	 //(NaN)number
	         document.write(typeof(!!a)) 
	    	//boolean
		document.write(typeof(a+""))
		//string
		document.write(1=="1")
		//true
		document.write(NaN==NaN)
		//false
	        document.write(NaN==underfined)
	        //报错
	        document.write(11=="11")
		 //true
		document.write(1==="1")
		//false
		document.write(parseInt("123underfined"))
		//123
		var num =123123.1231
		alert(num.toFixed(3))//123123.123
		var foo= 1+"1"
		 document.write(foo)//11
	 </script>