184:JavaScript基础 - BOM、打印、window对象等详解
185:JavaScript基础 - 数据类型Number及运算符号
1、关键字
(3)alert - 警告窗
原型:window.alert();
alert实际上是一个函数
注:alert无法弹出部分对象
部分简单的对象能弹出
(4)console - 打印
consol有许多方法,都可以进行尝试。
1、console.log()
普通打印
2、console.error()
可以打印错误的东西
3、console.warn()
警告
4、console.info()
提示
(5)screen - 屏幕
原型:window.screen
1、width、height:宽高
和浏览器大小无关,跨界常量屏幕的宽高
(6)open、close
基于window下
open:打开一个新的页面;
close:关闭当前页面
打开一个百度新页面,并且关闭当前页面(本地地址页面);
(7)location - 地址
1、location.href(‘地址’)
页面跳转,当前页面跳转,不是新页面打开
2、location.reload()
页面刷新
(8)history - 历史信息
1、history.back()
返回上一个页面
2、history.forward()
转到下一个页面
3、history.go()
可以控制页面跳转呆历史中的某个页面
history.go(-1),上一个页面
history.go(-2),往前第二个页面
history.go(1),下一个页面
2、运算符/判断符
(1)=
=:赋值,赋予
==:等于,只返回true、false
(隐式转换,尽可能的把两个数据转换成同一格式进行比较,简单说就是只比较内容)
===:全等于,必须一样,包括数据格式也要一致
(2)两个叠加
1、++
var a = 10;
a++;
++a;
++放前面,数值先变化,再完成其他操作
++放后面,数值后变化,在其他操作完成后变化
如下:
2、- -
–与++同理
3、+=
var a = 10;
a+=5;
等于a = a + 5;
-=与+=同理
4、+
在±**/%中,-*/%都是正常运算符号,只有+还带有连接属性。
当有字符串参与-/%的运算时,字符串会隐式转换为数字类型进行计算;
当有字符串参与+的运算时,会触发字符串拼接;
解析:
-8:/正常运算,‘30’隐式转换为30,30/6=5,5是数字类型,3也是数字类型,3+5=8;
-130:是正常运算,‘5’隐式转换为5,56=30,30是数字类型,‘1’是字符串,这里+是连接的意思,‘1’和30连起来就是:130。
5、>、<、>=、<=
返回值true和false
(3)连续计算
(4)js运算Bug
js不做很精准的运算;
且,当小数点后面有很多0时,到一定数量,后面的数字会忽略;
(5)三目运算符
if else的简写,
标准写法:条件 ? true执行语句 : false执行语句
第一个数!=0时,为true,返回中间的数;=0时,为false,返回最后的数。
解析:
这里可以看做if,
if里的值做判断,只返回true、false,这里的if为8,,8!=0时,返回true,输出2;
若if的值=0,返回false,输出5.
if(8){
alert(2);
} else {
alert(5);
}
(6)与、或、非
1、非:!
相反的,变成非自己的布尔值,返回true或false。
这里前面3个都是存在的,true、1、1000都是true,true相反即为false,所以输出false;
最后的获取元素,因为还没有创建该元素,所以这里元素是false,false相反为true,输出true。
2、或:||
一般用于判断,或者,多个条件只满足其一即可,返回true,均不满足则返回false。
多个条件存在时,只满足其一即可,
当条件未满足时,条件为false,一直从左到右遍历,
当条件true时,即break,终止条件遍历,后面的条件语句不再查看(即使错误语句也不管)。
即,条件不满足会一直往后查看 ,条件一满足就不往后查看了。
解析:
1?2:3 =》1!=0,所以为true,返回2,
语句变为alert(2 || 5 || avkas.vJLDLJ);
,2为true,已满足条件,后面不看,直接输出2.
(即使后面有错误语句也没报错,因为从输出2开始这句代码就已跳过)
3、和:&&
并且,多个条件全部同时满足,返回true,只要有其一不满足则返回false。
多个条件存在时,
当条件满足满足时,条件为true,一直从左到右遍历,
当条件之一出现false时,即break,终止条件遍历,后面的条件语句不再查看。
即,条件满足会一直往后查看 ,条件一不满足就不往后查看了。
3、定时器
(1)setInterval()
轮循定时器,反复执行
标准写法:
时间单位毫秒:1s = 1000ms
setInterval(function(){
执行的操作
} , 时间)
注:setInterval,可以跟无限个参数,前两个固定,第一个函数,第二个时间,后面的都是参数。
(2)clear
关闭定时器
(3)setTimeout()
延时定时器,只执行一次
标准写法:
时间单位毫秒:1s = 1000ms
setTimeout(function(){
执行的操作
} , 时间)
不正确:
一旦第二个参数,即时间不正确,在IE6/7中会报错,在IE8中会以0ms执行。
(4)特性
1、只要是定时器,时间就会有误差
2、js,会把非定时器的都处理掉,最后再走定时器