第二天笔记

168 阅读3分钟

null undifined NaN not a number 非数字的集合!!!!!!! 六亲不认,不会和任何人相等,包括自己 isNaN()

console.log(null === null); console.log(undefined === undefined);

两个等号判断的是值相等 console.log(null === undefined);

true转数字 console.log(2 == true) false

console.log(NaN===NaN); false

var x = 3; console.log(typeof x); number

isNaN()用于判断是NaN console.log(isNaN(x)); false

!isNaN()用于判断是数字 console.log(!isNaN(x));

字符串和字符串比较的时候,比较ASCLL值,是一位一位比的 console.log('a'> 'A'); true 字符串的比较,是一位一位的比 console.log('212'>'2'); true

字符串和数字比较的值 转数字在进行比较 console.log('12'>2);

Math.random() 产生0-1之间的随机数,包含0,不包含1 Math.ceil() 向上取整 Math.floor() 向上取整 Math.round() 四舍五入取整数

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

1、四舍五入取整,取小数点(0.110+0.210)/10

2、小数化为整数 console.log(0.1+0.2); 0.300000000000004 console.log(99999999999999999===10000000000000000000);true

100-1000之间,娶不到1000 x =x*900; x =x+100; x =Math.floor(x); console.log(x);

var bai =x/100; bai = Math.floor(bai); console.log(bai);

var shi = x%100/10; shi = Math.floor(shi); console.log(shi);

var ge = x%10; ge = Math.floor(ge); console.log(ge);

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

var x = Math.random(); var y = x* (max-min)+min; y=Math.round(y);

简写 var a = Math.round(Math.random()*(20-10)+10); console.log(a);

a = (Math.random*(max-min)+min)

最大值和最小值 var min = Math.min(2,23,3,5,54,21); console.log(min); 2

var min = Math.max(2,23,3,5,54,21); console.log(max); 54



抓取对象 <input id="inp" type"text">

123

带括号的叫函数

console.log() Math.random() 函数 0-1

首先找到这个对象 input

在文档中 找到id为inp的元素 var oInp = document.getElementById('inp'); console.log(oInp);

oInp.value = '666' oInp.style.color = 'red'

var oP = document.getElementById('p'); oP.style.color = 'green';



求和 + =

拿到相关数据 var oInp1 = document.getElementById('inp1');

var oInp2 = document.getElementById('inp2');

var oBtn = document.getElementById('btn');

var oResult = document.getElementById('result');

console.log(oInp1,oInp2,oBtn,oResult); 注意,如果出现null,表示对象没有拿到手--idd=写错了

js在打开的时候就已经执行完毕了

绑定点击事件 oBtn.onclick = function(){ var n1 =oInp1.value; console.log(n1);

var n2 = oInp2.value;
console.log(n2);

发现页面的数字都是字符串,不能相加
var sum = n1*1+ Number(n2);
计算的结果赋值给输入框
oResult.value = sum;

}


       计算的结果赋值给输入框
        oResult.value = sum;

程序的三大流程控制语句 顺序结构, 从上而下的之行代码 选择结构, 判断 循环结构 重复的做一件

   单分支语句:有条件的执行代码
    语法:  if(条件){
        条件满足是执行的代码
    }
   
   双分支:
    语法:  if(条件){
        条件满足执行的代码
    }
           else{
               条件不满足执行的代码
           }

   多分支:
     语法:  if(条件1){
         条件1满足执行的代码
     }
            else if(条件2){
               在条件1不满足,条件2满足时执行的代码
            }
            else if(条件3){
                条件3满足执行的代码
            }
        ...
         else{
             以上条件都不满足就执行这个代码
         }


 例子:
    var light = 'green' ;


     此处的每一条单分支语句都会执行判断

     if(light === 'green') {
        alert('go');
    }

     if(light === 'red') {
         alert('stop');
     }

     if(light === 'yellow') {
         alert('wait');
     }


     var light = 'red' ;
    if(light === 'red') {
        alert('stop')
    }
    else if(light === 'green') {
        alert('go')
    }
    else if(light === 'yellow') {
        alert('wait')
    }
    // 底下的else可有可无
    else {
        alert('灯坏了')
    }

if 的嵌套 var m =2; var d=28; if( m =='2'){ alert('1'); if(d >29 || d<1){ alert('天数不对'); } else if(d < 29){ alert('ok'); } }