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'); } }