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.函数不能有重名的参数