关于js的说法
- js是一种动态类型,弱类型,基于原型,直译脚本语言
- js是一门单线程语言
- 浏览器端的js包含了DOM、BOM、ECMAScript对象
- js语言不仅可以在浏览器环境允许,也可以在node提供的服务器端平台运行
- 在原型上扩展的可枚举方法,会被for in循环出来
- For循环是按顺序的,for in循环不一定按顺序
- 大数据场景下,js中串联字符串较为高效的方法是Array.join()
js系统方法
- isNaN:isNaN() 函数用于检查其参数是否是非数字值。
- escape:escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。返回:已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。
- eval:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。返回:通过计算 string 得到的值(如果有的话)
关于HTML5控件显示音频和视频媒体
- js可与html5视频和音频结合起来使用增强其行为
form表单
- enctype属性用来定义表单数据进行编码的方式,默认值为application/x-www-form-urlencoded
- 如果涉及上传文件action= multipart/form-data
this关键字
- 不改变this指向的前提下,this总是指向函数的直接调用者
- new关键字创建的对象,this指向new出来的那个对象
- IE中attachEvevt中的this总是指向全局对象Window
IFrame标签
- 相同域名下,内嵌的IFrame可以获取外层网页的对象;外层网页脚本可以获取IFrane网页内的对象
- 可以通过脚本改变IFrame的大小
- 通过IFrame,网页嵌入卡网页内容,并可以动态更改
函数定义
- function foo(){} 普通函数声明
- var foo = function () {}
- var foo = new Function() 构造函数
js只有函数作用域,没有块作用域
if (!'a' in window){
var a = 1;
}
alert(a);
弹出undefined
原因:
js只有函数作用域,没有块作用域,变量声明变量提前,在if语句里面定义会提前,a已经定义,没有赋值,打印是undefined
同步和异步
在所有的同步任务执行完之前,异步任务是不会执行的。
许多循环加上计时器的例子,来定时改变某些东西,需要用闭包来完成。
其他(输出为多少)
- ( () => {} ) . length 获取方法形参的个数
- 1&2 按位与 0001 0010 = 0011
- +[] 隐式类型转换,[] 是对象,转换为‘’ ,+‘’ === 0
css
css预编译工具
less、sass、stylus
css单位
- vm、vh、em、rem都是相对单位
可以继承的父元素的属性
- color(颜色,a元素除外)
- direction(方向)
- font(字体)
- font-family(字体系列)
- font-size(字体大小)
- font-style(用于设置斜体)
- font-variant(用于设置小型大写字母)
- font-weight(用于设置粗体)
- letter-spacing(字母间距)
- line-height(行高)
- text-align(用于设置对齐方式)
- text-indent(用于设置首航缩进)
- text-transform(用于修改大小写)
- visibility(可见性)
- white-space(用于指定如何处理空格)
- word-spacing(字间距)
HTML5新增标签
- video
- article
- footer
- header