1.web标准
结构(HTML),表现(css),行为(js)
2.css优先级
!important > 行间 > ID > class > 通配符
3.页面文档解析的先后顺序
结构(HTML)—— 表现(css) —— 行为(js)
4.js中全局变量属于window,怎样解决他不属于window?
①箭头函数
②更改指向
5.分号什么时候加?
①等号右边加分号
②事件函数,所有的大括号后加分号
6.return的一些特性
①函数里没有返回值会返回undefined
②阻断后面代码的执行
作用:
①阻断后面代码的执行
②封装函数
7.面向对象的三大特征
继承、封装、多态
8.定时器
setTimeout
clearTiomeout
可以模拟循环
setInterval
clearInterval
9.js中批量修改样式
①改类名
②cssText
③for循环
④使用json setStyle
⑤with
with(obj.style){
width:"200px"
...
}
注:cssText会清除之前元素含有的样式,所以得用:
obj.cssText += 'width:200px;height:100px;'
但在IE中最后一个分号会被删除,解决办法:
obj.cssText += ';width:200px;height:100px;'
10.获取非行间样式的方法
①IE:currentStyle
②其他:getComputedStyle
eg:
function getStyle(obj, attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return window.getComputedStyle(obj,false)[attr];
}
}
alert(getStyle(Div,"background"));
11.break是结束整个循环体,continue是结束单次使用
break也可以在while中使用
12.循环语句
for
for in
while
forEach
map
13.判断语句
if(适用于一个区间内判断)
switch(适用于一个离散值判断)
14.三目
变量 = 条件?语句:语句
15.if中只有一个语句可以不写大括号
if()
语句
**16.什么是真,什么是假
真:true,非空字符串,非0数字,非空对象
假:false,0,空字符串,空对象,null,undefined,NaN
17.基本数据类型
String Number Undefined Null Boolean Object Symbol
检测数据类型:typeOf()
instanceOf()
18.几种出现undefined的情况
①未声明的变量
②已声明未定义的变量
③传参没有值
④访问不存在的属性
undefined与not defined的区别###
undefined:未经任何操作或者某对象的一个未定义的属性
not defined:完全没定义
*null是空指针
19.隐式转换
- " +” 运算符
var a = 11, b = '22';
var c = a + b;
console.log(c) //1122
当运算符“ +” 两边一个是数字类型, 一个是字符串类型时, js引擎规定进行字符串连接运算而非算术加运算。
20.“ -” 运算符
var a = 11, b = '5';
var c = a - b;
alert(typeof c); //--> number
“”-”运算符会把字符串b隐式的转换成数字5再进行算术减法运算。
20.显示转换
1.转换为数值类型:
Number(mix)
parseInt(string,radix)
(转成整数)
parseFloat(string)(
转成浮点数)
2.转换为字符串类型:
toString(radix)
String(mix)
3.转换为布尔类型:
Boolean(mix)
21.字符串
harAt()
方法可返回指定位置的字符
replace()
方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
substring()
方法用于提取字符串中介于两个指定下标之间的字符。
substr()
方法可在字符串中抽取从 start 下标开始的指定数目的字符。
plit()
方法用于把一个字符串分割成字符串数组。
`concat() 方法用于连接两个或多个字符串。
slice()
方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
indexOf()
方法可返回某个指定的字符串值在字符串中首次出现的位置。
lastIndexOf()
方法可返回一个指定的字符串值最后出现的位置,在一个
字符串中的指定位置从后向前搜索。
toLowerCase()
方法用于把字符串转换为小写。
toUpperCase()
方法用于把字符串转换为大写。
22.数组
push()
在数组末尾增加一个或多个元素
pop()
用于删除并返回数组的最后一个元素
join()
将数组中所有元素都转化为字符串并且连接在一起,返回最后生成的字符串
reverse()
将数组中元素的顺序颠倒,返回逆序的数组。
sort()
将数组中的元素进行排序,并且返回排序后的数组。
concat()
合并两个数组,并返回合并后的新数组。
slice()
返回指定数组的一个片段或子数组,它的两个参数分别指定片段的开始和结束的位置(不包含该元素)。
splice()
用于插入、删除或替换数组的元素。并返回删除的部分数组。
unshift()
在数组的头部添加一个或多个元素,最后返回数组新的长度。
shift()
删除数组的第一个元素并将其返回。
23.严格模式
user strict
为什么用严格模式:
消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
消除代码运行的一些不安全之处,保证代码运行的安全;
提高编译器效率,增加运行速度;
为未来新版本的Javascript做好铺垫。
"严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经支持它,许多大项目已经开始全面拥抱它。
另一方面,同样的代码,在"严格模式"中,可能会有不一样的运行结果;一些在"正常模式"下可以运行的语句,在"严格模式"下将不能运行。
语法与行为改变:
- 禁止this关键字指向全局对象
2.全局变量显式声明
3.禁止删除变量
4.对象不能有重名的属性
5.函数不能有重名的参数