1、闭包、作用域
闭包就是有权访问另一个函数内部变量的函数。
这些函数定义的自由变量能不被释放。
保护了函数内部变量的安全性,太大会造成内存大量占用。
(1)闭包的第一个用途,其实上面已经提到了,就是产生它意义:可以读取函数内部的变量。
(2)闭包的第二个用途,那就是:可以让这些变量的值始终保持在内存中。
例如:
2、 匿名函数是什么,有什么作用
没有名字的函数。
function (){}
new Function(){}
不会造成全局变量的污染
3、 列举一些语义化标签
H5:<article> <section> <header><footer>
<p><ul><table><caption><address>
4、 编写HTML时需要考虑哪些问题
推荐html5声明文档
推荐使用UTF-8编码
img添加alt属性,增加可访问性。
采用栅格化处理。
书写注释
标签正确嵌套,一定要闭合。
用div等布局
代码采用树形结构,提高可读性。
模块之间必须保持独立,区块化布局。
5、 与前端开发关系比较紧密的HTTP状态码
1XX 表示消息
2XX 表示成功
3XX 表示重定向
4XX 表示请求错误
5XX 表示服务器端错误
200 请求正常
400 出现语法错误
404 无法找到指定位置资源
500 服务器遇到了意料不到的情况,不能完成客户的请求
6、写出常用的css hack
_ IE6
* IE6/7
!important IE7/Firefox
*+ IE7
\9 IE6/7/8
\0 IE8
条件hack
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]--> IE7以下版本
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"><![endif]--> IE7
<!--[if IE 8]> <html class="no-js lt-ie9"><![endif]--> IE8
<!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]--> IE8以上
7、IE浏览器下css兼容问题。
(1)、margin加倍:
在IE6下,div设置float时,左(右)margin会加倍。
解决方法:在这个div加上display:inline;
(2)、IE6 3px bug
当浮动元素和非浮动元素相邻时,会出现3px空隙。
解决方法:将非浮动元素添加float属性。
(3)、div包含img时,底部会出现留白。
解决方法:设置img元素为display:block;
8、编写css时需要考虑哪些问题
慎用 !important
建议使用具有语义化的classname或id
:link :visited :hover :active书写顺序
谨慎添加新的选择符规则,尤其不可滥用 id,尽可能继承和复用已有样式
不要用@import
9、求表达式的值
typeof([]) object
typeof({}) object
typeof(null) object
typeof(NaN) number
typeof((“abcd”)*1) number
typeof((“abcd”)+1) string
NaN == NaN false
! NaN==! NaN true
10、
函数表达式:
var fnName= function(){}
函数声明
function fnName(){}
函数声明会在代码执行以前加载到作用域中,函数表达式需要等到执行到该行才会加入到作用域中。
闭包就是有权访问另一个函数内部变量的函数。
这些函数定义的自由变量能不被释放。
保护了函数内部变量的安全性,太大会造成内存大量占用。
(1)闭包的第一个用途,其实上面已经提到了,就是产生它意义:可以读取函数内部的变量。
(2)闭包的第二个用途,那就是:可以让这些变量的值始终保持在内存中。
例如:
function f1(){ var n=999; nAdd=function(){ n+=1 } function f2(){ alert(n); } return f2; } var result=f1(); //把f1函数的返回值(而这个返回值是函数f2的形式)给result result(); // 999 输出这个f2的返回值 nAdd(); //调用nAdd函数 result(); // 1000 这里就是闭包的第二个用途:f2这个闭包会让变量n的值始终保存在内存中
2、 匿名函数是什么,有什么作用
没有名字的函数。
function (){}
new Function(){}
不会造成全局变量的污染
3、 列举一些语义化标签
H5:<article> <section> <header><footer>
<p><ul><table><caption><address>
4、 编写HTML时需要考虑哪些问题
推荐html5声明文档
推荐使用UTF-8编码
img添加alt属性,增加可访问性。
采用栅格化处理。
书写注释
标签正确嵌套,一定要闭合。
用div等布局
代码采用树形结构,提高可读性。
模块之间必须保持独立,区块化布局。
5、 与前端开发关系比较紧密的HTTP状态码
1XX 表示消息
2XX 表示成功
3XX 表示重定向
4XX 表示请求错误
5XX 表示服务器端错误
200 请求正常
400 出现语法错误
404 无法找到指定位置资源
500 服务器遇到了意料不到的情况,不能完成客户的请求
6、写出常用的css hack
_ IE6
* IE6/7
!important IE7/Firefox
*+ IE7
\9 IE6/7/8
\0 IE8
条件hack
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]--> IE7以下版本
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"><![endif]--> IE7
<!--[if IE 8]> <html class="no-js lt-ie9"><![endif]--> IE8
<!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]--> IE8以上
7、IE浏览器下css兼容问题。
(1)、margin加倍:
在IE6下,div设置float时,左(右)margin会加倍。
解决方法:在这个div加上display:inline;
(2)、IE6 3px bug
当浮动元素和非浮动元素相邻时,会出现3px空隙。
解决方法:将非浮动元素添加float属性。
(3)、div包含img时,底部会出现留白。
解决方法:设置img元素为display:block;
8、编写css时需要考虑哪些问题
慎用 !important
建议使用具有语义化的classname或id
:link :visited :hover :active书写顺序
谨慎添加新的选择符规则,尤其不可滥用 id,尽可能继承和复用已有样式
不要用@import
属性写在一行内,属性之间、属性名和值之间以及属性与“{}”之间应减少空格,去掉最后一个“;”
typeof([]) object
typeof({}) object
typeof(null) object
typeof(NaN) number
typeof((“abcd”)*1) number
typeof((“abcd”)+1) string
NaN == NaN false
! NaN==! NaN true
10、
函数表达式:
var fnName= function(){}
函数声明
function fnName(){}
函数声明会在代码执行以前加载到作用域中,函数表达式需要等到执行到该行才会加入到作用域中。