JS . DAY02笔记

109 阅读3分钟

- 特殊的值

一、null undefined NaN

  1. null
  2. undefined
  3. NaN (非数字的集合,不会和任何值相等包括自己)
  4. isNaN () 用来判断是否是NaN !isNaN() 用于判断是数字。中间没有空格!
    <script>
        // isNaN()用于判断是NaN  !isNaN() 用于判断是数字
        var x = 123;
        console.log( isNaN(x) );  //false
        var x = "s12"
        console.log( isNaN(x)); //true
    </script>
  1. NaN === NaN 值是false

  2. null == undefined 值是true 特殊规定

  3. 2 == true 值为false true转为数字1作比较 二、字符串之间的比较

  4. 当字符串和字符串之间比较时,比较的是Ascll值 且一位一位的比较

     console.log( "a" > "A" ) // 值为true  "a"的Ascll值为97 "A"的为65
     console.log("212" > "2" )  // 值为true  字符串之间的比较为一位一位的作比较
  1. 当字符串和数字作比较时,字符串转数字进行比较
 console.log("12" > 2); //值为true  字符串和数字作比较是字符串转为数字进行比较
Math 对象

一、Math.random()

产生 0 ~ 1 之间的随机数,包含0 但不包含1
    <script>
        var x = Math.random();
        document.write(x);
    </script>
产生一个0~100之间的随机数
      var x = Math.random()
        x *= 100;
        document.write(x)

二、Math.ceil(); 向上取整

        var x = Math.random()
        x = Math.ceil(x);
        document.write(x)
可能取到最大值,取到最大值的概率会大一点

三、Math.floor() 向下取整

        // 向下取整 floor()
        var x = Math.random()
        x = Math.floor(x);
        document.write(x);
取不到最大值,取到最小值的概率大一点

四、Math.round() 四舍五入取整

       // round() 四舍五入取整
        var x = Math.random()
        x = Math.round(x)
        document.write(x)
可能取到最大值

五、计算机的精度丢失

  1. 精度丢失不是js的问题,而是计算机的问题

  2. 解决方案: 四舍五入取整,取小数点 或 小数点化为整数 六、随机数的小结

  3. 产生 0-1之间的随机数

  4. 产生0-任何值max之间的随机数 x*max

  5. 产生 min - max 之间的随机数 x*(max - min) + min

  6. 简写 var a = Math.round( Math.random()* (max - min) + min)

    <script>
        // 随机一个五位数
        var x = Math.random();
        x = x * (100000-10000) + 10000; 
        x = Math.floor(x)
        // 取出万位
        var wan = Math.floor( x / 10000)
        // 取出千位
        var qian = Math.floor(x % 10000 / 1000)
        // 取出百位
        var bai = Math.floor( x % 1000 / 100  )
        // 取出十位
        var shi = Math.floor( x % 100 / 10 )
        // 取出个位
        var ge = Math.floor( x % 10 / 1)
        document.write(x + '万位' + wan + '千位' + qian + '百位' + bai + '十位' + shi + '个位' + ge )
    </script>

七、最大值与最小值

  1. max()
  2. min() 八、parseInt()
  3. 提取到第一个非数字为止的整数,比Math.floor()更加强大一点,不仅取向下的整还可以取出字符串里面的小数
       var m = parseInt(".24.5px") //NaN
        var m = parseInt("0.2214px1") //0
        var m = parseInt("21px1") //24
        var m = parseInt("24.5") //24

- 操作输入框

一、认识对象

  1. 对象是 属性 + 方法(函数)
  2. 所有的事物都是对象,对象是一种特殊的数据
  3. 对象拥有属性和方法
  4. 带括号的叫方法(函数) 二、 先找到这个对象 在文档中找到id元素

    <!-- 加运算 -->
    <div>
        <input type="text" name="" id="inp1">
        <span>+</span>
        <input type="text" name="" id="inp2">
        <button id="but1">=</button>
        <input type="text" name="" id="result1">
    </div>
   <body>
     <script>
        // 首先找到对象 在文档里面通过id找元素
        var oInp1 = document.getElementById("inp1")
        var oInp2 = document.getElementById("inp2")
        var oBut1 = document.getElementById("but1")
        var oResult1 = document.getElementById("result1")


        // 绑定点击事件 加
        oBut1.onclick = function(){
            // 事件内容 即获取inp1 inp2 的值
            var x = oInp1.value;
            var y = oInp2.value;


            // 从页面上获取的所有值都是字符串 所以,在进行数据的加号运算时要先转变数据类型
            var sum = Number(x) + Number(y);
            // 然后把sum的值赋予result
            oResult1.value = sum;
        }
        </script>
 </body>

- 循环的三大流程控制语句

一、种类

  1. 顺序结构:从上面往下面执行
  2. 选择结构:判断
  3. 循环结构:重复的做一件 二、分支语句 单分支语句:有条件的代码执行
        // 单分支语句每一条都会执行一遍,不建议写因为执行效率低
        var x = 90;
        if (x > 60) {
            console.log("及格")
        }
        if (x < 60 ) {
            console.log("不及格")
        }

双分支语句


        // 双分分支语句


        var x = 60;
        if (x > 60){
            console.log("及格")
        }
        else{
            console.log("不及格")
        }


多分支语句

        // 多分支语句
        var x = 60;
        if (x > 60){
            console.log("及格")
        }
        else if(x > 20){
            console.log("不及格")
        }
        else if(x >10 ){
            console.log("很不及格")
        }
        else{
            console.log("退学吧")
        }


if 的嵌套 else必须和if配对