面试宝典
一、HTML和CSS 21

  1. 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? 21
  2. 每个HTML文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗? 21
  3. Quirks模式是什么?它和Standards模式有什么区别 21
  4. div+css的布局较table布局有什么优点? 22
  5. img的alt与title有何异同? strong与em的异同? 22
  6. 你能描述一下渐进增强和优雅降级之间的不同吗? 23
  7. 为什么利用多个域名来存储网站资源会更有效? 23
  8. 请谈一下你对网页标准和标准制定机构重要性的理解。 24
  9. 请描述一下cookies,sessionStorage和localStorage的区别? 24
  10. 简述一下src与href的区别。 24
  11. 知道的网页制作会用到的图片格式有哪些? 25
  12. 知道什么是微格式吗?谈谈理解。在前端构建中应该考虑微格式吗? 25
  13. 在css/js代码上线之后开发人员经常会优化性能,从用户刷新网页开始,一次js请求一般情况下有哪些地方会有缓存处理? 25
  14. 一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化这些图片的加载,给用户更好的体验。 25
  15. 你如何理解HTML结构的语义化? 26
  16. 谈谈以前端角度出发做好SEO需要考虑什么? 27
  17. 有哪项方式可以对一个DOM设置它的CSS样式? 28
  18. CSS都有哪些选择器? 28
  19. CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内? 29
  20. 超链接访问过后hover样式就不出现的问题是什么?如何解决? 29
  21. 什么是Css Hack?ie6,7,8的hack分别是什么? 30
  22. 行内元素和块级元素的具体区别是什么?行内元素的padding和margin可设置吗? 30
  23. 什么是外边距重叠?重叠的结果是什么? 31
  24. rgba()和opacity的透明效果有什么不同? 31
  25. css中可以让文字在垂直和水平方向上重叠的两个属性是什么? 31
  26. 如何垂直居中一个浮动元素? 31
  27. px和em的区别。 32
  28. 描述一个”reset”的CSS文件并如何使用它。知道normalize.css吗?你了解他们的不同之处? 33
  29. Sass、LESS是什么?大家为什么要使用他们? 33
  30. display:none与visibility:hidden的区别是什么? 33
  31. CSS中link和@import的区别是: 34
  32. 简介盒子模型: 34
  33. 为什么要初始化样式? 34
  34. BFC是什么? 35
  35. html语义化是什么? 35
  36. Doctype的作用?严格模式与混杂模式的区别? 35
  37. IE的双边距BUG:块级元素float后设置横向margin,ie6显示的margin比设置的较大。 35
  38. HTML与XHTML——二者有什么区别? 35
  39. html常见兼容性问题? 36
  40. 对WEB标准以及W3C的理解与认识 36
  41. 行内元素有哪些?块级元素有哪些?CSS的盒模型? 36
  42. 前端页面有哪三层构成,分别是什么?作用是什么? 37
  43. Doctype作用? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 37
  44. 行内元素有哪些?块级元素有哪些? 空(void)元素有那些? 37
  45. CSS的盒子模型? 37
  46. CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些? 37
  47. 如何居中div,如何居中一个浮动元素? 38
  48. 浏览器的内核分别是什么?经常遇到的浏览器的兼容性有哪些?原因,解决方法是什么,常用hack的技巧 ? 39
  49. 列出display的值,说明他们的作用。position的值, relative和absolute定位原点是? 40
  50. absolute的containing block计算方式跟正常流有什么不同? 40
  51. 对WEB标准以及W3C的理解与认识 41
  52. css的基本语句构成是? 41
  53. 浏览器标准模式和怪异模式之间的区别是什么? 41
  54. CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内? 41
  55. 行内元素和块级元素的具体区别是什么?行内元素的padding和margin可设置吗? 42
  56. 什么是外边距重叠?重叠的结果是什么? 42
    58、描述一个"reset"的CSS文件并如何使用它。知道normalize.css吗?你了解他们的不同之处? 42
  57. 说display属性有哪些?可以做什么? 43
  58. 哪些css属性可以继承? 43
  59. css优先级算法如何计算? 43
  60. b标签和strong标签,i标签和em标签的区别? 43
  61. 有那些行内元素、有哪些块级元素、盒模型? 43
  62. 有哪些选择符,优先级的计算公式是什么?行内样式和!important哪个优先级高? 45
  63. 我想让行内元素跟上面的元素距离10px,加margin-top和padding-top可以吗? 45
  64. CSS的盒模型由什么组成? 45
  65. 说说display属性有哪些?可以做什么? 46
  66. 哪些css属性可以继承? 46
  67. css优先级算法如何计算? 46
    二、JS基础 46
  68. javascript的typeof返回哪些数据类型 46
  69. 例举3种强制类型转换和2种隐式类型转换? 47
  70. split() 、join() 的区别 47
  71. 数组方法pop() push() unshift() shift() 47
  72. 事件绑定和普通事件有什么区别 47
  73. IE和DOM事件流的区别 48
  74. IE和标准下有哪些兼容性的写法 48
  75. call和apply的区别 49
  76. b继承a的方法 49
  77. 如何阻止事件冒泡和默认事件 50
  78. 添加 删除 替换 插入到某个接点的方法 50
  79. javascript的本地对象,内置对象和宿主对象 50
  80. window.onload 和documentready的区别 50
  81. ”和“=”的不同 51
  82. javascript的同源策略 51
  83. JavaScript是一门什么样的语言,它有哪些特点? 51
  84. JavaScript的数据类型都有什么? 52
  85. 已知ID的Input输入框,希望获取这个输入框的输入值,怎么做?(不使用第三方框架) 53
  86. 希望获取到页面中所有的checkbox怎么做?(不使用第三方框架) 53
  87. 设置一个已知ID的DIV的html内容为xxxx,字体颜色设置为黑色(不使用第三方框架) 53
  88. 当一个DOM节点被点击时候,我们希望能够执行一个函数,应该怎么做? 53
  89. 看下列代码输出为何?解释原因。 54
  90. 看下列代码,输出什么?解释原因。 54
  91. 看下列代码,输出什么?解释原因。 54
  92. 看代码给答案。 56
  93. 已知数组var stringArray = [“This”, “is”, “Baidu”, “Campus”],Alert出”This is Baidu Campus”。 56
  94. 已知有字符串foo=”get-element-by-id”,写一个function将其转化成驼峰表示法”getElementById”。 56
  95. var numberArray = [3,6,2,4,1,5]; (考察基础API) 57
  96. 输出今天的日期,以YYYY-MM-DD的方式,比如今天是2014年9月26日,则输出2014-09-26 57
  97. 将字符串”{KaTeX parse error: Expected 'EOF', got '}' at position 3: id}̲</td><td>{name}”中的{KaTeX parse error: Expected 'EOF', got '}' at position 3: id}̲替换成10,{name}替换成Tony (使用正则表达式) 58
  98. 为了保证页面输出安全,我们经常需要对一些特殊的字符进行转义,请写一个函数escapeHtml,将<, >, &, “进行转义 58
  99. foo = foo||bar ,这行代码是什么意思?为什么要这样写? 59
  100. 看下列代码,将会输出什么?(变量声明提升) 59
  101. 用js实现随机选取10–100之间的10个数字,存入一个数组,并排序。 60
  102. 把两个数组合并,并删除第二个元素。 61
  103. 怎样添加、移除、移动、复制、创建和查找节点(原生JS,实在基础,没细写每一步) 61
  104. 有这样一个URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e,请写一段JS程序提取URL中的各个GET参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中,如{a:’1′, b:’2′, c:”, d:’xxx’, e:undefined}。 62
  105. 正则表达式构造函数var reg=new RegExp(“xxx”)与正则表达字面量var reg=//有什么不同?匹配邮箱的正则表达式? 63
  106. 看下面代码,给出输出结果。 63
  107. 写一个function,清除字符串前后的空格。(兼容所有浏览器) 64
  108. Javascript中callee和caller的作用? 65
  109. Javascript中, 以下哪条语句一定会产生运行错误? 答案( B C ) 66
  110. 以下两个变量a和b,a+b的哪个结果是NaN? 答案( AC ) 66
  111. var a=10; b=20; c=4; ++b+c+a++ 以下哪个结果是正确的?答案( B ) 66
  112. 下面的JavaScript语句中,( D )实现检索当前页面中的表单元素中的所有文本框,并将它们全部清空 66
  113. 要将页面的状态栏中显示“已经选中该文本框”,下列JavaScript语句正确的是( A ) 67
  114. 以下哪条语句会产生运行错误:(AD) 67
  115. 以下哪个单词不属于javascript保留字:(B) 67
  116. 请选择结果为真的表达式:(C) 68
  117. Javascript中, 如果已知HTML页面中的某标签对象的id=”username”,用____document.getElementById(‘username’)___ _方法获得该标签对象。 68
  118. typeof运算符返回值中有一个跟javascript数据类型不一致,它是________”function”_________。 68
  119. 定义了一个变量,但没有为该变量赋值,如果alert该变量,javascript弹出的对话框中显示___undefined______ 。 68
  120. 分析代码,得出正确的结果。 68
  121. 写出函数DateDemo的返回结果,系统时间假定为今天 68
  122. 写出程序运行的结果? 69
  123. 阅读以下代码,请分析出结果: 69
  124. 补充按钮事件的函数,确认用户是否退出当前页面,确认之后关闭窗? 69
  125. 写出简单描述html标签(不带属性的开始标签和结束标签)的正则表达式,并将以下字符串中的html标签去除掉 70
  126. 完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。 70
  127. 完成函数showImg(),要求能够动态根据下拉列表的选项变化,更新图片的显示 71
  128. 截取字符串abcdefg的efg 72
  129. 列举浏览器对象模型BOM里常用的至少4个对象,并列举window对象的常用方法至少5个 72
  130. 简述列举文档对象模型DOM里document的常用的查找访问节点的方法并做简单说明 72
  131. 希望获取到页面中所有的checkbox怎么做?(不使用第三方框架) 72
  132. 简述创建函数的几种方式 73
  133. Javascript如何实现继承? 73
  134. Javascript创建对象的几种方式? 73
  135. iframe的优缺点? 75
  136. 请你谈谈Cookie的弊端? 75
  137. js延迟加载的方式有哪些? 76
  138. documen.write和 innerHTML 的区别? 76
  139. 哪些操作会造成内存泄漏? 76
  140. 判断一个字符串中出现次数最多的字符,统计这个次数 77
  141. 写一个获取非行间样式的函数 77
  142. 事件委托是什么 78
  143. 闭包是什么,有什么特性,对页面有什么影响 78
  144. 解释jsonp的原理,以及为什么不是真正的ajax 79
  145. javascript的本地对象,内置对象和宿主对象 79
  146. 字符串反转,如将 ‘12345678’ 变成 ‘87654321’ 79
  147. 将数字 12345678 转化成 RMB形式 如: 12,345,678  79
  148. 生成5个不同的随机数; 80
  149. 去掉数组中重复的数字 方法一; 81
  150. 阶乘函数; 82
  151. window.location.search() 返回的是什么? 83
  152. window.location.hash 返回的是什么? 83
  153. window.location.reload() 作用? 83
  154. 、javascript 中的垃圾回收机制? 83
  155. 看题做答: 84
  156. 下面输出多少? 84
  157. 再来一个 85
  158. a输出多少? 86
  159. 看程序,写结果 87
  160. JS的继承性 87
  161. 精度问题: JS 精度不能精确到 0.1 所以  。。。。同时存在于值和差值中 88
  162. 加减运算 88
  163. 什么是同源策略? 88
  164. 为什么不能定义1px左右的div容器?    89
  165. 结果是什么? 89
  166. 输出结果 89
  167. 计算字符串字节数: 90
  168. 结果是: 90
  169. 声明对象,添加属性,输出属性 91
  170. 匹配输入的字符:第一个必须是字母或下划线开头,长度5-20 91
  171. 检测变量类型 92
  172. 如何在HTML中添加事件,几种方法? 92
  173. BOM对象有哪些,列举window对象? 92
  174. 请问代码实现 outerHTML 93
  175. JS中的简单继承 call方法! 94
  176. bind(), live(), delegate()的区别 95
  177. 看下列代码输出什么? 96
  178. 看下列代码,输出什么? 96
  179. 你如何优化自己的代码? 96
  180. 请描述出下列代码运行的结果 96
  181. 怎样实现两栏等高? 97
  182. 使用js实现这样的效果:在文本域里输入文字时,当按下enter键时不换行,而是替换成“{{enter}}”,(只需要考虑在行尾按下enter键的情况). 98
  183. 以下代码中end字符串什么时候输出 98
  184. specify(‘hello,world’)//=>’h,e,l,l,o,w,o,r,l,d’实现specify函数 99
  185. 请将一个URL的search部分参数与值转换成一个json对象 99
  186. 请用原生js实现jquery的get\post功能,以及跨域情况下 99
  187. 请简要描述web前端性能需要考虑哪方面,你的优化思路是什么? 99
  188. 、简述readyonly与disabled的区别 99
  189. 写出3个使用this的典型应用 100
  190. 请尽可能详尽的解释ajax的工作原理 100
  191. 、为什么扩展javascript内置对象不是好的做法? 100
  192. 什么是三元表达式?“三元”表示什么意思? 100
  193. 浏览器标准模式和怪异模式之间的区别是什么? 100
  194. modulo(12,5)//2 实现满足这个结果的modulo函数 101
  195. HTTP协议中,GET和POST有什么区别?分别适用什么场景 ? 101
  196. HTTP状态消息200 302 304 403 404 500分别表示什么 101
  197. HTTP协议中,header信息里面,怎么控制页面失效时间(last-modified,cache-control,Expires分别代表什么) 101
  198. HTTP雷锋议目前常用的有哪几个?KEEPALIVE从哪个版本开始出现的? 101
  199. 业界常用的优化WEB页面加载速度的方法(可以分别从页面元素展现,请求连接,css,js,服务器等方面介绍) 101
  200. 列举常用的web页面开发,调试以及优化工具 101
  201. 解释什么是sql注入,xss漏洞 101
  202. 如何判断一个js变量是数组类型 101
  203. 请列举js数组类型中的常用方法 101
  204. FF与IE中如何阻止事件冒泡,如何获取事件对象,以及如何获取触发事件的元素 101
  205. 列举常用的js框架以及分别适用的领域 102
  206. js中如何实现一个map 103
  207. js可否实现面向对象编程,如果可以如何实现js对象的继承 103
  208. 约瑟夫环—已知n个人(以编号1,2,3…分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 103
  209. 有1到10w这个10w个数,去除2个并打乱次序,如何找出那两个数? 103
  210. 如何获取对象a拥有的所有属性(可枚举的、不可枚举的,不包括继承来的属性) 103
  211. 有下面这样一段HTML结构,使用css实现这样的效果: 103
  212. 下面这段代码想要循环输出结果01234,请问输出结果是否正确,如果不正确,请说明为什么,并修改循环内的代码使其输出正确结果 103
  213. 以下哪些是javascript的全局函数:(ABC) 104
  214. 关于IE的window对象表述正确的有:(ACD) 104
  215. 下面正确的是 A 105
  216. 错误的是 B 105
  217. 不用任何插件,如何实现一个tab栏切换? 105
  218. 变量的命名规范以及命名推荐 106
  219. 三种弹窗的单词以及三种弹窗的功能 106
  220. console.log( 8 | 1 ); 输出值是多少? 107
  221. 只允许使用 + - * / 和 Math.* ,求一个函数 y = f(x, a, b);当x > 100 时返回 a 的值,否则返回 b 的值,不能使用 if else 等条件语句,也不能使用|,?:,数组。 107
  222. JavaScriptalert(0.4*0.2);结果是多少?和你预期的一样吗?如果不一样该如何处理? 108
  223. 一个div,有几种方式得到这个div的jQuery对象?
    想直接获取这个div的dom对象,如何获取?dom对象如何转化为jQuery对象? 108
  224. 、主流浏览器内核 108
  225. 如何显示/隐藏一个dom元素?请用原生的JavaScript方法实现 108
  226. jQuery框架中$.ajax()的常用参数有哪些?写一个post请求并带有发送数据和返回数据的样例 109
  227. JavaScript的循环语句有哪些? 109
  228. 作用域-编译期执行期以及全局局部作用域问题 109
  229. 闭包:下面这个ul,如何点击每一列的时候alert其index? 110
  230. 列出3条以上ff和IE的脚本兼容问题 111
  231. 如现在有一个效果,有显示用户头像、用户昵称、用户其他信息;当用户鼠标移到头像上时,会弹出用户的所有信息;如果是你,你会如何实现这个功能,请用代码实现? 111
  232. 用正则表达式,写出由字母开头,其余由数字、字母、下划线组成的6~30的字符串? 111
  233. 列举浏览器对象模型BOM里常用的至少4个对象,并列举window对象的常用方法至少5个 (10分) 112
  234. 在Javascript中什么是伪数组?如何将伪数组转化为标准数组? 112
  235. 写一个函数可以计算 sum(5,0,-5);输出0; sum(1,2,3,4);输出10; 112
  236. 《正则》写出正确的正则表达式匹配固话号,区号3-4位,第一位为0,中横线,7-8位数字,中横线,3-4位分机号格式的固话号 113
  237. 《算法》 一下A,B可任选一题作答,两题全答加分 113
  238. 请写一个正则表达式:要求最短6位数,最长20位,阿拉伯数和英文字母(不区分大小写)组成 114
  239. 统计1到400亿之间的自然数中含有多少个1?比如1-21中,有1、10、11、21这四个自然数有5个1 115
  240. 删除与某个字符相邻且相同的字符,比如fdaffdaaklfjklja字符串处理之后成为“fdafdaklfjklja” 115
  241. 请写出三种以上的Firefox有但,InternetExplorer没有的属性或者函数 115
  242. 请写出一个程序,在页面加载完成后动态创建一个form表单,并在里面添加一个input对象并给它任意赋值后义post方式提交到:http://127.0.0.1/save.php 115
  243. 用JavaScript实现冒泡排序。数据为23、45、18、37、92、13、24 116
  244. 前端代码优化的方法 116
  245. 下列JavaScript代码执行后,依次alert的结果是 117
  246. 下列JavaScript代码执行后,iNum的值是 118
  247. 输出结果是多少? 119
  248. 用程序实现找到html中id名相同的元素? 123
  249. 下列JavaScript代码执行后,运行的结果是 125
  250. 下列JavaScript代码执行后,依次alert的结果是 125
  251. 下列JavaScript代码执行后的效果是 126
  252. 下列JavaScript代码执行后的li元素的数量是 128
  253. 程序中捕获异常的方法? 128
  254. 将字符串”{KaTeX parse error: Expected 'EOF', got '}' at position 3: id}̲</td><td>{name}”中的{KaTeX parse error: Expected 'EOF', got '}' at position 3: id}̲替换成10,{name}替换成Tony (使用正则表达式) 129
  255. 给String对象添加一个方法,传入一个string类型的参数,然后将string的每个字符间价格空格返回,例如:addSpace(“hello world”) // -> ‘h e l l o ?w o r l d’ 129
  256. 数组和字符串 129
  257. 下列控制台都输出什么 131
    第2题: 131
    第3题: 132
    第4题: 132
    第5题: 132
    第6题: 133
    第7题: 133
    第8题: 133
    第9题: 134
    第10题: 134
    第11题:考点:函数声明提前 134
    第12题: 135
    第13题: 135
    第14题: 135
    第15题 136
    第16题:以下执行会有什么输出 136
    三、HTML5 CSS3 137
  258. CSS3有哪些新特性? 137
  259. html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5? 137
  260. 本地存储(Local Storage )和cookies(储存在用户本地终端上的数据)之间的区别是什么? 138
  261. 如何实现浏览器内多个标签页之间的通信? 138
  262. 你如何对网站的文件和资源进行优化? 138
  263. 什么是响应式设计? 138
  264. 新的 HTML5 文档类型和字符集是? 139
  265. HTML5 Canvas 元素有什么用? 139
  266. HTML5 存储类型有什么区别? 139
  267. 用H5+CSS3解决下导航栏最后一项掉下来的问题 139
  268. CSS3新增伪类有那些? 139
  269. 请用CSS实现:一个矩形内容,有投影,有圆角,hover状态慢慢变透明。 139
  270. 描述下CSS3里实现元素动画的方法 140
  271. html5\CSS3有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5? 140
  272. 你怎么来实现页面设计图,你认为前端应该如何高质量完成工作? 一个满屏 品 字布局 如何设计? 140
  273. 你能描述一下渐进增强和优雅降级之间的不同吗? 141
  274. 为什么利用多个域名来存储网站资源会更有效? 141
    CDN缓存更方便  141
  275. 请谈一下你对网页标准和标准制定机构重要性的理解。 142
  276. 请描述一下cookies,sessionStorage和localStorage的区别? 142
  277. 知道css有个content属性吗?有什么作用?有什么应用? 142
  278. 如何在 HTML5 页面中嵌入音频? 143
      143
  279. 如何在 HTML5 页面中嵌入视频? 143
      143
  280. HTML5 引入什么新的表单属性? 143
  281. CSS3新增伪类有那些? 143
  282. (写)描述一段语义的html代码吧。 144
  283. cookie在浏览器和服务器间来回传递。 sessionStorage和localStorage区别 144
  284. html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5? 144
  285. 如何区分: DOCTYPE声明\新增的结构元素\功能元素 145
  286. 语义化的理解? 145
  287. HTML5的离线储存? 145
  288. 写出HTML5的文档声明方式 145
  289. HTML5和CSS3的新标签      145
  290. 自己对标签语义化的理解 146
    四、移动web开发 146
    1、移动端常用类库及优缺点 146
    2、Zepto库和JQ区别 146
    五、Ajax 146
    1、Ajax 是什么? 如何创建一个Ajax? 146
    }else{ 146
    2、同步和异步的区别? 147
    3、如何解决跨域问题? 147
    4、页面编码和被请求的资源编码如果不一致如何处理? 147
    5、简述ajax 的过程。 147
    6、阐述一下异步加载。 148
    7、请解释一下 JavaScript 的同源策略。 148
    8、GET和POST的区别,何时使用POST? 148
    POST:一般用于修改服务器上的资源,对所发送的信息没有限制 148
    9、ajax 是什么?ajax 的交互模型?同步和异步的区别?如何解决跨域问题? 148
    10、 Ajax的最大的特点是什么。 149
    11、ajax的缺点 149
    12、ajax请求的时候get 和post方式的区别 149
    13、解释jsonp的原理,以及为什么不是真正的ajax 149
    14、什么是Ajax和JSON,它们的优缺点。 149
    15、http常见的状态码有那些?分别代表是什么意思? 149
    16、一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么? 150
    17、ajax请求的时候get 和post方式的区别 150
    18、ajax请求时,如何解释json数据 150
    19、.javascript的本地对象,内置对象和宿主对象 150
    20、为什么利用多个域名来存储网站资源会更有效? 151
    21、请说出三种减低页面加载时间的方法 151
    22、HTTP状态码都有那些。 151
    六、JS高级 151
    1、 JQuery一个对象可以同时绑定多个事件,这是如何实现的? 151
    2、 知道什么是webkit么? 知道怎么用浏览器的各种工具来调试和debug代码么? 151
    3、 如何测试前端代码? 知道BDD, TDD, Unit Test么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit…)? 152
    5、 简述一下 Handlebars 的基本用法? 152
    6、 简述一下 Handlerbars 的对模板的基本处理流程, 如何编译的?如何缓存的? 152
    7、 用js实现千位分隔符? 152
    8、 检测浏览器版本版本有哪些方式? 152
    9、 我们给一个dom同时绑定两个点击事件,一个用捕获,一个用冒泡,你来说下会执行几次事件,然后会先执行冒泡还是捕获 152
    10、实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制 152
    11、如何消除一个数组里面重复的元素? 154
    12、小贤是一条可爱的小狗(Dog),它的叫声很好听(wow),每次看到主人的时候就会乖乖叫一声(yelp)。从这段描述可以得到以下对象: 154
    13、下面这个ul,如何点击每一列的时候alert其index?(闭包) 155
    14、编写一个JavaScript函数,输入指定类型的选择器(仅需支持id,class,tagName三种简单CSS选择器,无需兼容组合选择器)可以返回匹配的DOM节点,需考虑浏览器兼容性和性能。 156
    15、请评价以下代码并给出改进意见。 158
    16、给String对象添加一个方法,传入一个string类型的参数,然后将string的每个字符间价格空格返回,例如: 158
    17、定义一个log方法,让它可以代理console.log的方法。 159
    18、在Javascript中什么是伪数组?如何将伪数组转化为标准数组? 159
    19、对作用域上下文和this的理解,看下列代码: 160
    20、原生JS的window.onload与Jquery的$(document).ready(function(){})有什么不同?如何用原生JS实现Jq的ready方法? 161
    21、(设计题)想实现一个对页面某个节点的拖曳?如何做?(使用原生JS) 163
    22、请实现如下功能 163
    23、说出以下函数的作用是?空白区域应该填写什么? 164
    24、 Javascript作用链域? 165
    25、 谈谈This对象的理解。 165
    26、 eval是做什么的? 165
    27、 关于事件,IE与火狐的事件机制有什么区别? 如何阻止冒泡? 165
    28、 什么是闭包(closure),为什么要用它? 166
    29、javascript 代码中的"use strict";是什么意思 ? 使用它区别是什么? 166
    30、如何判断一个对象是否属于某个类? 166
    31、new操作符具体干了什么呢? 166
    32、用原生JavaScript的实现过什么功能吗? 166
    33、Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是? 166
    HasOwnProperty 167
    34、对JSON的了解? 167
    35、js延迟加载的方式有哪些? 167
    36、模块化开发怎么做? 167
    37、AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)规范区别? 167
    38、requireJS的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何 缓存的?) 167
    39、让你自己设计实现一个requireJS,你会怎么做? 168
    40、谈一谈你对ECMAScript6的了解? 168
    ES6新的语法糖,类,模块化等新特性 168
    41、ECMAScript6 怎么写class么,为什么会出现class这种东西? 168
    42、异步加载的方式有哪些? 168
    43、documen.write和 innerHTML的区别? 168
    44、DOM操作——怎样添加、移除、移动、复制、创建和查找节点? 169
    45、call() 和 .apply() 的含义和区别? 169
    46、数组和对象有哪些原生方法,列举一下? 169
    Array.concat( ) 连接数组 169
    Object.hasOwnProperty( ) 检查属性是否被继承 170
    47、JS 怎么实现一个类。怎么实例化这个类 170
    48、JavaScript中的作用域与变量声明提升? 170
    49、如何编写高性能的Javascript? 170
    50、那些操作会造成内存泄漏? 171
    51、javascript对象的几种创建方式? 171
    52、javascript继承的 6 种方法? 171
    53、eval是做什么的? 171
    54、JavaScript 原型,原型链 ? 有什么特点? 171
    55、事件、IE与火狐的事件机制有什么区别? 如何阻止冒泡? 172
    56、简述一下Sass、Less,且说明区别? 172
    57、关于javascript中apply()和call()方法的区别? 172
    58、简述一下JS中的闭包? 172
    59、说说你对this的理解? 172
    60、分别阐述split(),slice(),splice(),join()? 173
    61、事件委托是什么? 173
    62、如何阻止事件冒泡和默认事件? 173
    63、添加 删除 替换 插入到某个接点的方法? 173
    64、你用过require.js吗?它有什么特性? 174
    65、谈一下JS中的递归函数,并且用递归简单实现阶乘? 174
    66、请用正则表达式写一个简单的邮箱验证。 174
    67、简述一下你对web性能优化的方案? 174
    68、在JS中有哪些会被隐式转换为false 174
    Undefined、null、关键字false、NaN、零、空字符串 174
    69、定时器setInterval有一个有名函数fn1,setInterval(fn1,500)与setInterval(fn1(),500)有什么区别? 174
    70、外部JS文件出现中文字符,会出现什么问题,怎么解决? 174
    71、谈谈浏览器的内核,并且说一下什么是内核? 175
    72、JavaScript原型,原型链 ? 有什么特点? 175
    73、写一个通用的事件侦听器函数 175
    74、事件、IE与火狐的事件机制有什么区别? 如何阻止冒泡? 178
    75、什么是闭包(closure),为什么要用? 178
    76、如何判断一个对象是否属于某个类? 178
    77、new操作符具体干了什么呢? 178
    78、JSON 的了解 179
    79、js延迟加载的方式有哪些 179
    80、模块化怎么做? 179
    81、异步加载的方式 179
    82、告诉我答案是多少? 180
    83、JS中的call()和apply()方法的区别? 180
    84、Jquery与jQuery UI 有啥区别? 180
    85、jquery 中如何将数组转化为json字符串,然后再转化回来? 180
    $.fn.stringifyArray = function(array) { 180
    86、JavaScript中的作用域与变量声明提升? 181
    87、前端开发的优化问题(看雅虎14条性能优化原则)。 181
    88、http状态码有那些?分别代表是什么意思? 181
    89、一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?(流程说的越详细越好) 182
    七、流行框架 182
    1、JQuery的源码看过吗?能不能简单概况一下它的实现原理? 182
    2、jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this? 182
    3、 jquery中如何将数组转化为json字符串,然后再转化回来? 182
    4、 jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝? 182
    5、 jquery.extend 与 jquery.fn.extend的区别? 182
    Jquery.extend用来扩展jQuery对象本身;jquery.fn.extend用来扩展jQuery实例 182
    6、谈一下Jquery中的bind(),live(),delegate(),on()的区别? 182
    7、JQuery一个对象可以同时绑定多个事件,这是如何实现的? 182
    10、 Jquery与jQuery UI有啥区别? 182
    11、 jQuery和Zepto的区别?各自的使用场景? 183
    12、 针对 jQuery 的优化方法? 183
    13、 Zepto的点透问题如何解决? 183
    14、知道各种JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么? 能讲出他们各自的优点和缺点么? 183
    15、Underscore 对哪些 JS 原生对象进行了扩展以及提供了哪些好用的函数方法? 184
    Underscore的熟悉程度 184
    16、使用过angular吗?angular中的过滤器是干什么用的 184
    八、移动APP开发 184
    1、移动端最小触控区域是多大? 184
    九、NodeJs 184
  291. 对Node的优点和缺点提出了自己的看法: 184
  292. 需求:实现一个页面操作不会整页刷新的网站,并且能在浏览器前进、后退时正确响应。给出你的技术实现方案? 184
  293. Node.js的适用场景? 185
  294. (如果会用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么? 185
    Nodejs相关概念的理解程度 185
  295. 解释一下 Backbone 的 MVC 实现方式? 185
  296. 什么是“前端路由”?什么时候适合使用“前端路由”? “前端路由”有哪些优点和缺点? 185
  297. 对Node的优点和缺点提出了自己的看法? 185
    十、前端概括性问题 186
  298. 常使用的库有哪些?常用的前端开发工具?开发过什么应用或组件? 186
  299. 对BFC规范的理解? 186
  300. 99%的网站都需要被重构是那本书上写的? 186
  301. WEB应用从服务器主动推送Data到客户端有那些方式? 186
  302. 加班的看法 187
  303. 平时如何管理你的项目,如何设计突发大规模并发架构? 187
  304. 那些操作会造成内存泄漏? 187
  305. 你说你热爱前端,那么应该WEB行业的发展很关注吧? 说说最近最流行的一些东西吧? 187
    Node.js、Mongodb、npm、MVVM、MEAN、react、angularjs 187
  306. 你有了解我们公司吗?说说你的认识? 187
  307. 移动端(比如:Android IOS)怎么做好用户体验? 187
  308. 你所知道的页面性能优化方法有那些? 188
  309. 除了前端以外还了解什么其它技术么?你最最厉害的技能是什么? 188
  310. AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)规范区别? 188
  311. 谈谈你认为怎样做能使项目做的更好? 188
  312. 你对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样? 188
  313. php中下面哪个函数可以打开一个文件,以对文件进行读和写操作? 188
  314. php中rmdir可以直接删除文件夹吗?该目录必须是空的,而且要有相应的权限–来自api 188
  315. phpinset和empty的区别,举例说明 188
  316. php中$_SERVER变量中如何得到当前执行脚本路劲 189
  317. 写一个php函数,要求两个日期字符串的天数差,如2012-02-05~2012-03-06的日期差数 189
  318. 一个衣柜中放了许多杂乱的衬衫,如果让你去整理一下,使得更容易找到你想要的衣服;你会怎么做?请写出你的做法和思路? 189
  319. 如何优化网页加载速度? 189
  320. 工作流程,你怎么来实现页面设计图,你认为前端应该如何高质量完成工作? 190
  321. 介绍项目经验、合作开发、独立开发。 190
  322. 开发过程中遇到困难,如何解决。 190
  323. 对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样? 190

一、HTML和CSS
1.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
IE: trident内核
Firefox:gecko内核
Safari:webkit内核
Opera:以前是presto内核,Opera现已改用Google Chrome的Blink内核
Chrome:Blink(基于webkit,Google与Opera Software共同开发)
2.每个HTML文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗?

 声明位于文档中的最前面的位置,处于  标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。(重点:告诉浏览器按照何种规范解析页面)

3.Quirks模式是什么?它和Standards模式有什么区别???7
从IE6开始,引入了Standards模式,标准模式中,浏览器尝试给符合标准的文档在规范上的正确处理达到在指定浏览器中的程度。
在IE6之前CSS还不够成熟,所以IE5等之前的浏览器对CSS的支持很差, IE6将对CSS提供更好的支持,然而这时的问题就来了,因为有很多页面是基于旧的布局方式写的,而如果IE6 支持CSS则将令这些页面显示不正常,如何在即保证不破坏现有页面,又提供新的渲染机制呢?
在写程序时我们也会经常遇到这样的问题,如何保证原来的接口不变,又提供更强大的功能,尤其是新功能不兼容旧功能时。遇到这种问题时的一个常见做法是增加参数和分支,即当某个参数为真时,我们就使用新功能,而如果这个参数 不为真时,就使用旧功能,这样就能不破坏原有的程序,又提供新功能。IE6也是类似这样做的,它将DTD当成了这个“参数”,因为以前的页面大家都不会去写DTD,所以IE6就假定 如果写了DTD,就意味着这个页面将采用对CSS支持更好的布局,而如果没有,则采用兼容之前的布局方式。这就是Quirks模式(怪癖模式,诡异模式,怪异模式)。
区别:
总体会有布局、样式解析和脚本执行三个方面的区别。
盒模型:在W3C标准中,如果设置一个元素的宽度和高度,指的是元素内容的宽度和高度,而在Quirks 模式下,IE的宽度和高度还包含了padding和border。

设置行内元素的高宽:在Standards模式下,给等行内元素设置wdith和height都不会生效,而在quirks模式下,则会生效。
设置百分比的高度:在standards模式下,一个元素的高度是由其包含的内容来决定的,如果父元素没有设置百分比的高度,子元素设置一个百分比的高度是无效的用margin:0 auto设置水平居中:使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模式下却会失效。
(还有很多,答出什么不重要,关键是看他答出的这些是不是自己经验遇到的,还是说都是看文章看的,甚至完全不知道。)
4.div+css的布局较table布局有什么优点?
改版的时候更方便 只要改css文件。
页面加载速度更快、结构化清晰、页面显示简洁。
表现与结构相分离。
易于优化(seo)搜索引擎更友好,排名更容易靠前。
5.img的alt与title有何异同? strong与em的异同?
a:alt(alt text):为不能显示图像、窗体或applets的用户代理(UA),alt属性用来指定替换文字。替换文字的语言由lang属性指定。(在IE浏览器下会在没有title时把alt当成 tool tip显示)
title(tool tip):该属性为设置该属性的元素提供建议性的信息。
strong:粗体强调标签,强调,表示内容的重要性
em:斜体强调标签,更强烈强调,表示内容的强调点
6.你能描述一下渐进增强和优雅降级之间的不同吗?
渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。
“优雅降级”观点
“优雅降级”观点认为应该针对那些最高级、最完善的浏览器来设计网站。而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段,并把测试对象限定为主流浏览器(如 IE、Mozilla 等)的前一个版本。
在这种设计范例下,旧版的浏览器被认为仅能提供“简陋却无妨 (poor, but passable)” 的浏览体验。你可以做一些小的调整来适应某个特定的浏览器。但由于它们并非我们所关注的焦点,因此除了修复较大的错误之外,其它的差异将被直接忽略。
“渐进增强”观点
“渐进增强”观点则认为应关注于内容本身。
内容是我们建立网站的诱因。有的网站展示它,有的则收集它,有的寻求,有的操作,还有的网站甚至会包含以上的种种,但相同点是它们全都涉及到内容。这使得“渐进增强”成为一种更为合理的设计范例。这也是它立即被 Yahoo! 所采纳并用以构建其“分级式浏览器支持 (Graded Browser Support)”策略的原因所在。
那么问题来了。现在产品经理看到IE6,7,8网页效果相对高版本现代浏览器少了很多圆角,阴影(CSS3),要求兼容(使用图片背景,放弃CSS3),你会如何说服他?
7.为什么利用多个域名来存储网站资源会更有效?
CDN缓存更方便
突破浏览器并发限制
节约cookie带宽
节约主域名的连接数,优化页面响应速度
防止不必要的安全问题
8.请谈一下你对网页标准和标准制定机构重要性的理解。
网页标准和标准制定机构都是为了能让web发展的更‘健康’,开发者遵循统一的标准,降低开发难度,开发成本,SEO也会更好做,也不会因为滥用代码导致各种BUG、安全问题,最终提高网站易用性。
9.请描述一下cookies,sessionStorage和localStorage的区别????
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
web storage和cookie的区别
Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的。Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用。
除此之外,Web Storage拥有setItem,getItem,removeItem,clear等方法,不像cookie需要前端开发者自己封装setCookie,getCookie。但是Cookie也是不可以或缺的:Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生。
10.简述一下src与href的区别。
src用于替换当前元素,href用于在当前文档和引用资源之间确立联系。
src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。

当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。
href是Hypertext Reference的缩写,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,如果我们在文档中添加

那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用link方式来加载css,而不是使用@import方式。 11.知道的网页制作会用到的图片格式有哪些? png-8,png-24,jpeg,gif,svg。 但是上面的那些都不是面试官想要的最后答案。面试官希望听到是Webp。(是否有关注新技术,新鲜事物) 科普一下Webp:WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器带宽资源和数据空间。Facebook Ebay等知名网站已经开始测试并使用WebP格式。 在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小40% 12.知道什么是微格式吗?谈谈理解。在前端构建中应该考虑微格式吗? 微格式(Microformats)是一种让机器可读的语义化XHTML词汇的集合,是结构化数据的开放标准。是为特殊应用而制定的特殊格式。 优点:将智能数据添加到网页上,让网站内容在搜索引擎结果界面可以显示额外的提示。(应用范例:豆瓣,有兴趣自行google) 13.在css/js代码上线之后开发人员经常会优化性能,从用户刷新网页开始,一次js请求一般情况下有哪些地方会有缓存处理? 答案:dns缓存,cdn缓存,浏览器缓存,服务器缓存。 14.一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化这些图片的加载,给用户更好的体验。 图片懒加载,在页面上的未可视区域可以添加一个滚动条事件,判断图片位置到浏览器顶端的距离和到页面低端的距离,如果前者小于后者,优先加载。 如果为幻灯片、相册等,可以使用图片预加载技术,将当前展示图片的前一张和后一张优先下载。 如果图片为css图片,可以使用CSSsprite,SVGsprite,Iconfont、Base64等技术。 如果图片过大,可以使用特殊编码的图片,加载时会先加载一张压缩的特别厉害的缩略图,以提高用户体验。 如果图片展示区域小于图片的真实大小,则因在服务器端根据业务需要先行进行图片压缩,图片压缩后大小与展示一致。 15.你如何理解HTML结构的语义化?  去掉或样式丢失的时候能让页面呈现清晰的结构: html本身是没有表现的,我们看到例如

是粗体,字体大小2em,加粗;是加粗的,不要认为这是html的表现,这些其实html默认的css样式在起作用,所以去掉或样式丢失的时候能让页面呈现清晰的结构不是语义化的HTML结构的优点,但是浏览器都有有默认样式,默认样式的目的也是为了更好的表达html的语义,可以说浏览器的默认样式和语义化的HTML结构是不可分割的。 屏幕阅读器(如果访客有视障)会完全根据你的标记来“读”你的网页. 例如,如果你使用的含语义的标记,屏幕阅读器就会“逐个拼出”你的单词,而不是试着去对它完整发音. PDA、手机等设备可能无法像普通电脑的浏览器一样来渲染网页(通常是因为这些设备对CSS的支持较弱) 使用语义标记可以确保这些设备以一种有意义的方式来渲染网页.理想情况下,观看设备的任务是符合设备本身的条件来渲染网页. 语义标记为设备提供了所需的相关信息,就省去了你自己去考虑所有可能的显示情况(包括现有的或者将来新的设备).例如,一部手机可以选择使一段标记了标题的文字以粗体显示.而掌上电脑可能会以比较大的字体来显示.无论哪种方式一旦你对文本标记为标题,您就可以确信读取设备将根据其自身的条件来合适地显示页面. 搜索引擎的爬虫也依赖于标记来确定上下文和各个关键字的权重 过去你可能还没有考虑搜索引擎的爬虫也是网站的“访客”,但现在它们他们实际上是极其宝贵的用户.没有他们的话,搜索引擎将无法索引你的网站,然后一般用户将很难过来访问. 你的页面是否对爬虫容易理解非常重要,因为爬虫很大程度上会忽略用于表现的标记,而只注重语义标记. 因此,如果页面文件的标题被标记,而不是,那么这个页面在搜索结果的位置可能会比较靠后.除了提升易用性外,语义标记有利于正确使用CSS和JavaScript,因为其本身提供了许多“钩钩”来应用页面的样式与行为. SEO主要还是靠你网站的内容和外部链接的。 便于团队开发和维护 W3C给我们定了一个很好的标准,在团队中大家都遵循这个标准,可以减少很多差异化的东西,方便开发和维护,提高开发效率,甚至实现模块化开发。 16.谈谈以前端角度出发做好SEO需要考虑什么? 了解搜索引擎如何抓取网页和如何索引网页 你需要知道一些搜索引擎的基本工作原理,各个搜索引擎之间的区别,搜索机器人(SE robot 或叫 web crawler)如何进行工作,搜索引擎如何对搜索结果进行排序等等。 Meta标签优化 主要包括主题(Title),网站描述(Description),和关键词(Keywords)。还有一些其它的隐藏文字比如Author(作者),Category(目录),Language(编码语种)等。 如何选取关键词并在网页中放置关键词 搜索就得用关键词。关键词分析和选择是SEO最重要的工作之一。首先要给网站确定主关键词(一般在5个上下),然后针对这些关键词进行优化,包括关键词密度(Density),相关度(Relavancy),突出性(Prominency)等等。 了解主要的搜索引擎 虽然搜索引擎有很多,但是对网站流量起决定作用的就那么几个。比如英文的主要有Google,Yahoo,Bing等;中文的有百度,搜狗,有道等。不同的搜索引擎对页面的抓取和索引、排序的规则都不一样。还要了解各搜索门户和搜索引擎之间的关系,比如AOL网页搜索用的是Google的搜索技术,MSN用的是Bing的技术。 主要的互联网目录 Open Directory自身不是搜索引擎,而是一个大型的网站目录,他和搜索引擎的主要区别是网站内容的收集方式不同。目录是人工编辑的,主要收录网站主页;搜索引擎是自动收集的,除了主页外还抓取大量的内容页面。 按点击付费的搜索引擎 搜索引擎也需要生存,随着互联网商务的越来越成熟,收费的搜索引擎也开始大行其道。最典型的有Overture和百度,当然也包括Google的广告项目Google Adwords。越来越多的人通过搜索引擎的点击广告来定位商业网站,这里面也大有优化和排名的学问,你得学会用最少的广告投入获得最多的点击。 搜索引擎登录 网站做完了以后,别躺在那里等着客人从天而降。要让别人找到你,最简单的办法就是将网站提交(submit)到搜索引擎。如果你的是商业网站,主要的搜索引擎和目录都会要求你付费来获得收录(比如Yahoo要299美元),但是好消息是(至少到目前为止)最大的搜索引擎Google目前还是免费,而且它主宰着60%以上的搜索市场。 链接交换和链接广泛度(Link Popularity) 网页内容都是以超文本(Hypertext)的方式来互相链接的,网站之间也是如此。除了搜索引擎以外,人们也每天通过不同网站之间的链接来Surfing(“冲浪”)。其它网站到你的网站的链接越多,你也就会获得更多的访问量。更重要的是,你的网站的外部链接数越多,会被搜索引擎认为它的重要性越大,从而给你更高的排名。 合理的标签使用 17.有哪项方式可以对一个DOM设置它的CSS样式?  外部样式表,引入一个外部css文件 内部样式表,将css代码放在  标签内部 内联样式,将css样式直接定义在 HTML 元素内部 18.CSS都有哪些选择器? 派生选择器(用HTML标签申明)标签选择器; id选择器(用DOM的ID申明) 类选择器(用一个样式类名申明) 属性选择器(用DOM的属性申明,属于CSS2,IE6不支持,不常用,不知道就算了) 除了前3种基本选择器,还有一些扩展选择器,包括 后代选择器(利用空格间隔,比如div .a{  }) 子代选择器:(div > p选择div下的第一个子元素p标签) 群组选择器(利用逗号间隔,比如p,div,#a{  }) 那么问题来了,CSS选择器的优先级是怎么样定义的? 基本原则: 一般而言,选择器越特殊,它的优先级越高。也就是选择器指向的越准确,它的优先级就越高。 复杂的计算方法: 用1表示派生选择器的优先级 用10表示类选择器的优先级 用100标示ID选择器的优先级 div.test1 .span var 优先级 1+10 +10 +1 span#xxx .songs li 优先级1+100 + 10 + 1 #xxx li 优先级 100 +1 那么问题来了,看下列代码,

标签内的文字是什么颜色的?

123

答案:red。与样式定义在文件中的先后顺序有关,即是后面的覆盖前面的,与在

22.行内元素和块级元素的具体区别是什么?行内元素的padding和margin可设置吗?
块级元素(block)特性:
总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;
宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制;
内联元素(inline)特性:
和相邻的内联元素在同一行;
宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bottom(margin-top/margin-bottom)都不可改变(也就是padding和margin的left和right是可以设置的),就是里面文字或图片的大小,内容区域的大小是由内容撑开的。
那么问题来了,浏览器还有默认的天生inline-block元素(拥有内在尺寸,可设置高宽,但不会自动换行),有哪些?
答案: 、 、 、 、

33.为什么要初始化样式?
由于浏览器兼容的问题,不同的浏览器对标签的默认样式值不同,若不初始化会造成不同浏览器之间的显示差异
但是初始化CSS会对搜索引擎优化造成小影响
34.BFC是什么?
BFC(块级格式化上下文),一个创建了新的BFC的盒子是独立布局的,盒子内元素的布局不会影响盒子外面的元素。在同一个BFC中的两个相邻的盒子在垂直方向发生margin重叠的问题
BFC是指浏览器中创建了一个独立的渲染区域,该区域内所有元素的布局不会影响到区域外元素的布局,这个渲染区域只对块级元素起作用
35.html语义化是什么?
当页面样式加载失败的时候能够让页面呈现出清晰的结构
有利于seo优化,利于被搜索引擎收录(更便于搜索引擎的爬虫程序来识别)
便于项目的开发及维护,使html代码更具有可读性,便于其他设备解析。
36.Doctype的作用?严格模式与混杂模式的区别?

用于告知浏览器该以何种模式来渲染文档

严格模式下:页面排版及JS解析是以该浏览器支持的最高标准来执行
混杂模式:不严格按照标准执行,主要用来兼容旧的浏览器,向后兼容
37.IE的双边距BUG:块级元素float后设置横向margin,ie6显示的margin比设置的较大。

解决:加入_display:inline
38.HTML与XHTML——二者有什么区别?

  1. 所有的标记都必须要有一个相应的结束标记
  2. 所有标签的元素和属性的名字都必须使用小写
  3. 所有的 XML 标记都必须合理嵌套
  4. 所有的属性必须用引号 “” 括起来
  5. 把所有 < 和 & 特殊符号用编码表示
  6. 给所有属性赋一个值
  7. 不要在注释内容中使用 “–”
  8. 图片必须有说明文字
    39.html常见兼容性问题?
    1.双边距BUG float引起的 使用display
    2.3像素问题 使用float引起的 使用dislpay:inline -3px
    3.超链接hover 点击后失效 使用正确的书写顺序 link visited hover active
    4.Ie z-index问题 给父级添加position:relative
    5.Png 透明 使用js代码 改
    6.Min-height 最小高度 !Important 解决’
    7.select 在ie6下遮盖 使用iframe嵌套
    8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)
    9.IE5-8不支持opacity,解决办法:
    .opacity {
    opacity: 0.4
    filter: alpha(opacity=60); /* for IE5-7 /
    -ms-filter: “progid:DXImageTransform.Microsoft.Alpha(Opacity=60)”; /
    for IE 8*/
    }
  9. IE6不支持PNG透明背景,解决办法: IE6下使用gif图片
    40.对WEB标准以及W3C的理解与认识
    答:标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外联 css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维 护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性。
    41.行内元素有哪些?块级元素有哪些?CSS的盒模型?
    答:块级元素:div p h1 h2 h3 h4 form ul
    行内元素: a b br i span input select
    Css盒模型:内容,border ,margin,padding
    42.前端页面有哪三层构成,分别是什么?作用是什么?
    答:结构层 Html 表示层 CSS 行为层 js。
    43.Doctype作用? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?
    (1)、<!DOCTYPE> 声明位于文档中的最前面,处于 标签之前。告知浏览器的解析器,用什么文档类型 规范来解析这个文档。
    (2)、严格模式的排版和 JS 运作模式是 以该浏览器支持的最高标准运行。
    (3)、在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。
    (4)、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。
    44.行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
    (1)CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,比如div默认display属性值为“block”,成为“块级”元素;span默认display属性值为“inline”,是“行内”元素。
    (2)行内元素有:a b span img input select strong(强调的语气) 块级元素有:div ul ol li dl dt dd h1 h2 h3 h4…p
    (3)知名的空元素:


    鲜为人知的是:

    45.CSS的盒子模型?
    (1)两种, IE 盒子模型、标准 W3C 盒子模型;IE 的content部分包含了 border 和 pading;
    (2)盒模型: 内容(content)、填充(padding)、边界(margin)、 边框(border).
    46.CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些?
    • 1.id选择器( # myid)
      2.类选择器(.myclassname)
      3.标签选择器(div, h1, p)
      4.相邻选择器(h1 + p)
      5.子选择器(ul > li)
      6.后代选择器(li a)
      7.通配符选择器( * )
      8.属性选择器(a[rel = “external”])可扩展的属性值
      9.伪类选择器(a: hover, li: nth - child)link vitetd hover active
    • 可继承: font-size font-family color, UL LI DL DD DT;
    • 不可继承 :border padding margin width height ;
    • 优先级就近原则,样式定义最近者为准;
    • 载入样式以最后载入的定位为准;
      优先级为:
      !important > id > class > tag
      important 比 内联优先级高
      CSS3新增伪类举例:
      p:first-of-type 选择属于其父元素的首个

      元素的每个

      元素。
      p:last-of-type 选择属于其父元素的最后

      元素的每个

      元素。
      p:only-of-type 选择属于其父元素唯一的

      元素的每个

      元素。
      p:only-child 选择属于其父元素的唯一子元素的每个

      元素。
      p:nth-child(2) 选择属于其父元素的第二个子元素的每个

      元素。
      :enabled、:disabled 控制表单控件的禁用状态。
      :checked,单选框或复选框被选中。
      47.如何居中div,如何居中一个浮动元素?
      给div设置一个宽度,然后添加margin:0 auto属性
      div{
      width:200px;
      margin:0 auto;
      }
      居中一个浮动元素
      确定容器的宽高 宽500 高 300 的层
      设置层的外边距
      .div {
      Width:500px ; height:300px;//高度可以不设
      Margin: -150px 0 0 -250px;
      position:relative;相对定位
      background-color:pink;//方便看效果
      left:50%;
      top:50%;
      }
      48.浏览器的内核分别是什么?经常遇到的浏览器的兼容性有哪些?原因,解决方法是什么,常用hack的技巧 ?

    • IE浏览器的内核Trident、 Mozilla的Gecko、google的WebKit、Opera内核Presto;
    • png24为的图片在iE6浏览器上出现背景,解决方案是做成PNG8.
    • 浏览器默认的margin和padding不同。解决方案是加一个全局的*{margin:0;padding:0;}来统一。Css的初始化,取消浏览器的css的默认样式
    • IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。
      浮动ie产生的双倍距离 #box{ float:left; width:10px; margin:0 0 0 100px;}
      这种情况之下IE会产生20px的距离,解决方案是在float的标签样式控制中加入 ——_display:inline;将其转化为行内属性。(_这个符号只有ie6会识别)
      渐进识别的方式,从总体中逐渐排除局部。
      首先,巧妙的使用“\9”这一标记,将IE游览器从所有情况中分离出来。
      接着,再次使用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别。
      css
      .bb{
      background-color:#f1ee18;/所有识别/
      .background-color:#00deff\9; /IE6、7、8识别/
      +background-color:#a200ff;/IE6、7识别/
      _background-color:#1e0bd1;/IE6识别/
      }
    • IE下,可以使用获取常规属性的方法来获取自定义属性,
      也可以使用getAttribute()获取自定义属性;
      Firefox下,只能使用getAttribute()获取自定义属性.
      解决方法:统一通过getAttribute()获取自定义属性.
    • IE下,even对象有x,y属性,但是没有pageX,pageY属性;
      Firefox下,event对象有pageX,pageY属性,但是没有x,y属性.
    • (条件注释)缺点是在IE浏览器下可能会增加额外的HTTP请求数。
    • Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示, 可通过加入 CSS 属性 -webkit-text-size-adjust: none; 解决.
      超链接访问过后hover样式就不出现了 被点击访问过的超链接样式不在具有hover和active了解决方法是改变CSS属性的排列顺序:
      L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}
      49.列出display的值,说明他们的作用。position的值, relative和absolute定位原点是?
  10. block 像块类型元素一样显示。
    none 缺省值。向行内元素类型一样显示。彻底的隐藏元素包括位置也不在占据
    inline-block 象行内元素一样显示,但其内容象块类型元素一样显示。
    list-item 象块类型元素一样显示,并添加样式列表标记。
  11. position的值
    *absolute
    生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
    *fixed (老IE不支持)
    生成绝对定位的元素,相对于浏览器窗口进行定位。
  • relative
    生成相对定位的元素,相对于其正常位置进行定位。
  • static 默认值。没有定位,元素出现在正常的流中
    *(忽略 top, bottom, left, right z-index 声明)。
  • inherit 规定从父元素继承 position 属性的值。
    50.absolute的containing block计算方式跟正常流有什么不同??????
    lock-level boxes
    一个 block-level element (‘display’ 属性值为 ‘block’, ‘list-item’ 或是 ‘table’) 会生成一个 block-level box,这样的盒子会参与到 block-formatting context (一种布局的方式) 中。
    block formatting context
    在这种布局方式下,盒子们自所在的 containing block 顶部起一个接一个垂直排列,水平方向上撑满整个宽度 (除非内部的盒子自己内部建立了新的 BFC)。
    containing block
    一般来说,盒子本身就为其子孙建立了 containing block,用来计算内部盒子的位置、大小,而对内部的盒子,具体采用哪个 containing block 来计算,需要分情况来讨论:

若此元素为 inline 元素,则 containing block 为能够包含这个元素生成的第一个和最后一个 inline box 的 padding box (除 margin, border 外的区域) 的最小矩形;
否则则由这个祖先元素的 padding box 构成。
根元素所在的 containing block 被称为 initial containing block,在我们常用的浏览器环境下,指的是原点与 canvas 重合,大小和 viewport 相同的矩形;
对于 position 为 static 或 relative 的元素,其 containing block 为祖先元素中最近的 block container box 的 content box (除 margin, border, padding 外的区域);
对于 position:fixed 的元素,其 containing block 由 viewport 建立;
对于 position:absolute 的元素,则是先找到其祖先元素中最近的 position 属性非 static 的元素,然后判断:
如果都找不到,则为 initial containing block。

51.对WEB标准以及W3C的理解与认识
标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外 链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维 护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;
52.css的基本语句构成是
选择器{属性1:值1;属性2:值2;……}
53.浏览器标准模式和怪异模式之间的区别是什么?
盒子模型 渲染模式的不同
使用 window.top.document.compatMode 可显示为什么模式
54.CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内?  
  最基本的:
  设置display属性为none,或者设置visibility属性为hidden
  技巧性:
  设置宽高为0,设置透明度为0,设置z-index位置在-1000
55.行内元素和块级元素的具体区别是什么?行内元素的padding和margin可设置吗?
  块级元素(block)特性:
总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;
宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制;
  内联元素(inline)特性:
和相邻的内联元素在同一行;
宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bottom(margin-top/margin-bottom)都不可改变(也就是padding和margin的left和right是可以设置的),就是里面文字或图片的大小。
  那么问题来了,浏览器还有默认的天生inline-block元素(拥有内在尺寸,可设置高宽,但不会自动换行),有哪些?
  答案: 、 、 、 、

  • 优先级就近原则,样式定义最近者为准;
  • 以最后载入的样式为准;

二、JS基础
1.javascript的typeof返回哪些数据类型
 alert(typeof [1, 2]); //object
    alert(typeof ‘leipeng’); //string
    var i = true; 
    alert(typeof i); //boolean
    alert(typeof 1); //number
    var a; 
    alert(typeof a); //undefined
    function a(){;};
    alert(typeof a) //function
2.例举3种强制类型转换和2种隐式类型转换?
强制(parseInt(),parseFloat(),Number())
隐式(== ,!!)
3.split() 、join() 的区别
前者是切割成数组的形式,后者是将数组转换成字符串
4.数组方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部删除
Unshift()头部添加 shift()头部删除
5.事件绑定和普通事件有什么区别
普通添加事件的方法:
var btn = document.getElementById(“hello”);
btn.onclick = function(){
alert(1);
}
btn.onclick = function(){
alert(2);
}
执行上面的代码只会alert 2 重叠覆盖

事件绑定方式添加事件:
var btn = document.getElementById(“hello”);
btn.addEventListener(“click”,function(){
alert(1);
},false); 冒泡事件,
btn.addEventListener(“click”,function(){
alert(2);
},false);
执行上面的代码会先alert 1 再 alert 2 不会重叠前面的绑定的事件
普通添加事件的方法不支持添加多个事件,最下面的事件会覆盖上面的,而事件绑定(addEventListener)方式添加事件可以添加多个。
addEventListener不兼容低版本IE
普通事件无法取消
addEventLisntener还支持事件冒泡+事件捕获,
removeEventLIstener取消绑定事件
6.IE和DOM事件流的区别:
1.执行顺序不一样、
2.参数不一样
3.事件加不加on
4.this指向问题
7.IE和标准下有哪些兼容性的写法:事件对象event
Var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
8.call和apply的区别
call方法: 
语法:call(thisObj,Object1,Object2…)
定义:调用一个对象的一个方法,以另一个对象替换当前对象。也就是改变当前的this指向的问题
说明:
call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 
如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。

apply方法: 
语法:apply(thisObj,[argArray])
定义:应用某一对象的一个方法,用另一个对象替换当前对象。 
说明: 
如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 
如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。
9.b继承a的方法
function A( age, name ){
this.age = age;
this.name = name;
}

A.prototype.show = function(){
alert(‘父级方法’);
}

function B(age,name,job){
A.apply( this, arguments );
this.job = job;
}

B.prototype = new A();
var b = new A(14,‘侠客行’);
var a = new B(15,‘狼侠’,‘侠客’);
10.如何阻止事件冒泡和默认事件
canceBubble()只支持IE,return false,stopPropagation()
e.predefiut()
11.添加 删除 替换 插入到某个节点的方法
obj.appendChid()
obj.insertBefore()
obj.replaceChild()
obj.removeChild()
12.javascript的本地对象,内置对象和宿主对象
本地对象为array obj regexp等可以new实例化
内置对象为gload Math 等不可以实例化的
宿主为浏览器自带的document,window 等
13.window.onload 和document.ready的区别
引入js文件的两种方式:一种原生的 一种是jQuery库的入口函数
window.onload 是在dom文档树加载完和所有文件加载完之后执行一个函数Document.ready原生种没有这个方法,jquery中有 $(document).ready(function(){代码}),在dom文档树加载完之后执行一个函数(注意,这里面的文档树加载完不代表全部文件加载完)。
(document).ready要比window.onload先执行,执行的上下文不同,window.onload只能出来一次,(document).ready要比window.onload先执行,执行的上下文不同, window.onload只能出来一次,(document).readywindow.onloadwindow.onload(document).ready可以出现多次
14.””和“=”的不同
前者会自动转换类型,只是比较数值,不比较数据类型,
后者不会:即比较数据类型也有比较数值
15.javascript的同源策略
一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、议和端口号的组合
16.JavaScript是一门什么样的语言,它有哪些特点?
没有标准答案。
javaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。JavaScript兼容于ECMA标准,因此也称为ECMAScript。
基本特点
1.是一种解释性脚本语言(代码不进行预编译)。
2.主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
3.可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
4.跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
17.JavaScript的数据类型都有什么?
基本数据类型:String,boolean,Number,Undefined, Null
引用数据类型:Object(Array,Date,RegExp,Function)
那么问题来了,如何判断某变量是否为数组数据类型?
方法一.判断其是否具有“数组性质”,如slice()方法。可自己给该变量定义slice方法,故有时会失效
方法二.obj instanceof Array 在某些IE版本中不正确
方法三.方法一二皆有漏洞,在ECMA Script5中定义了新方法Array.isArray(), 保证其兼容性,最好的方法如下:

if(typeof Array.isArray==="undefined")

{
  Array.isArray = function(arg){
        return Object.prototype.toString.call(arg)==="[object Array]"
    }; 
}
18.已知ID的Input输入框,希望获取这个输入框的输入值,怎么做?(不使用第三方框架)
document.getElementById(“ID”).value
$(“#id”).val();
19.希望获取到页面中所有的checkbox怎么做?(不使用第三方框架)

var domList = document.getElementsByTagName(‘input’)

var checkBoxList = [];
var len = domList.length;  //缓存到局部变量
while (len–) {  //使用while的效率会比for循环更高
  if (domList[len].type == ‘checkbox’) {
      checkBoxList.push(domList[len]);
  }
}
20.设置一个已知ID的DIV的html内容为xxxx,字体颜色设置为黑色(不使用第三方框架)

var dom = document.getElementById(“ID”);

dom.innerHTML = “xxxx”
dom.style.color = “#000”
21.当一个DOM节点被点击时候,我们希望能够执行一个函数,应该怎么做?
直接在DOM里绑定事件:


在JS里通过onclick绑定:xxx.onclick = test
通过事件添加进行绑定:addEventListener(xxx, ‘click’, test)
那么问题来了,Javascript的事件流模型都有什么?
“事件冒泡”:事件开始由最具体的元素接受,然后逐级向上传播
“事件捕捉”:事件由最不具体的节点先接收,然后逐级向下,一直到最具体的
“DOM事件流”:三个阶段:事件捕捉,目标阶段,事件冒泡
22.看下列代码输出为何?解释原因。

var a;

alert(typeof a); // undefined
alert(b); // 报错
解释:Undefined是一个只有一个值的数据类型,这个值就是“undefined”,在使用var声明变量但并未对其赋值进行初始化时,这个变量的值就是undefined。而b由于未声明将报错。注意未申明的变量(a is not defined)和声明了未赋值的是不一样的。
23.看下列代码,输出什么?解释原因。

var a = null;

alert(typeof a); //object
解释:null是一个只有一个值的数据类型,这个值就是null。表示一个空指针对象,所以用typeof检测会返回”object”。
24.看下列代码,输出什么?解释原因。

var undefined;

undefined == null; // true
1 == true;   // true
2 == true;   // false
0 == false;  // true
0 == ‘’;     // true
NaN == NaN;  // false
[] == false; // true
[] == ![];   // true
undefined与null相等,但不恒等(=
一个是number一个是string时,会尝试将string转换为number
尝试将boolean转换为number,0或1
尝试将Object转换成number或string,取决于另外一个对比量的类型
所以,对于0、空字符串的判断,建议使用 “
=” 。“===”会先判断两边的值类型,类型不匹配时为false。
那么问题来了,看下面的代码,输出什么,foo的值为什么?

var foo = "11"+2-"1";

console.log(foo);
console.log(typeof foo);
执行完后foo的值为111,foo的类型为String。
25.看代码给答案。

var a = new Object();

a.value = 1;
b = a;
b.value = 2;
alert(a.value);
答案:2(考察引用数据类型细节)引用数据类型,数据放在堆中,指针指向这个数据
26.已知数组var stringArray = [“This”, “is”, “Baidu”, “Campus”],Alert出”This is Baidu Campus”。
答案:alert(stringArray.join(“”))转化为字符串空格隔开即可
27.已知有字符串foo=”get-element-by-id”,写一个function将其转化成驼峰表示法”getElementById”。

function combo(msg){

var arr=msg.split("-");
    for(var i=1;i<arr.length;i++){
        arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substr(1,arr[i].length-1);
    }
    msg=arr.join("");
    return msg;
}
(考察基础API)
28.var numberArray = [3,6,2,4,1,5]; (考察基础API)
2)1) 实现对该数组的倒排,输出[5,1,4,2,6,3] 是索引值的倒序
numberArray.reverse( )
3) 实现对该数组的降序排列,输出[6,5,4,3,2,1] 是数值大小的倒序
numberArray.sort(function(a,b){return b-a})
29.输出今天的日期,以YYYY-MM-DD的方式,比如今天是2014年9月26日,则输出2014-09-26

var d = new Date();

// 获取年,getFullYear()返回4位的数字
var year = d.getFullYear();
// 获取月,月份比较特殊,0是1月,11是12月
var month = d.getMonth() + 1;
// 变成两位
month = month < 10 ? ‘0’ + month : month;
// 获取日
var day = d.getDate();
day = day < 10 ? ‘0’ + day : day;
alert(year + ‘-’ + month + ‘-’ + day);
30.将字符串”{KaTeX parse error: Expected 'EOF', got '}' at position 3: id}̲</td><td>{name}”中的{KaTeX parse error: Expected 'EOF', got '}' at position 3: id}̲替换成10,{name}替换成Tony (使用正则表达式)
答案:"{KaTeX parse error: Expected 'EOF', got '}' at position 3: id}̲</td><td>{id}_{$name}".replace(/ {$id} /g, ‘10’).replace( / {$name} /g, ‘Tony’);
在正则表带式中的直接量的形式:/要匹配的字符串/,/^ 严格模式 $/,/ /g默认在全局下找到所有匹配该字符串的 replace替换匹配到的字符串
特殊符号用 \ 转义
31.为了保证页面输出安全,我们经常需要对一些特殊的字符进行转义,请写一个函数escapeHtml,将<, >, &, “进行转义

function escapeHtml(str) {

return str.replace(/[<>”&]/g, function(match) {
    switch (match) {
                   case “<”:
                      return “<”;
                   case “>”:
                      return “>”;
                   case “&”:
                      return “&”;
                   case “\””:
                      return “"”;
      }
  });
}
32.foo = foo||bar ,这行代码是什么意思?为什么要这样写?
答案:if(!foo) foo = bar; //如果foo存在,值不变,否则把bar的值赋给foo。
短路表达式:作为”&&”和”||”操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值。
33.看下列代码,将会输出什么?(变量声明提升)

var foo = 1;

(function(){
    console.log(foo);
    var foo = 2;
    console.log(foo);
})()
答案:输出undefined 和 2。上面代码相当于:

var foo = 1;

(function(){
    var foo;
    console.log(foo); //undefined
    foo = 2;
    console.log(foo); // 2;  
})()
函数声明与变量声明会被JavaScript引擎隐式地提升到当前作用域的顶部,但是只提升名称不会提升赋值部分。
34.用js实现随机选取10–100之间的10个数字,存入一个数组,并排序。

function randomNub(aArray, len, min, max) {if (len >= (max - min)) {return '超过' + min + '-' + max + '之间的个数范围' + (max - min - 1) + '个的总数';}if (aArray.length >= len) {aArray.sort(function(a, b) {return a - b});return aArray;}var nowNub = parseInt(Math.random() * (max - min - 1)) + (min + 1);for (var j = 0; j < aArray.length; j++) {if (nowNub == aArray[j]) {randomNub(aArray, len, min, max);return;}}aArray.push(nowNub);randomNub(aArray, len, min, max);return aArray;}

var arr=[];
randomNub(arr,10,10,100);
35.把两个数组合并,并删除第二个元素。

var array1 = ['a','b','c'];

var bArray = [‘d’,‘e’,‘f’];
var cArray = array1.concat(bArray);
cArray.splice(1,1); 在数组的第(参数1)个索引值开始,删除(参数2)个数组元素,返回剩余的含有数组值的数组
slice()
36.怎样添加、移除、移动、复制、创建和查找节点(原生JS,实在基础,没细写每一步)
1)创建新节点
createDocumentFragment()    //创建一个DOM片段
createElement()   //创建一个具体的元素
createTextNode()   //创建一个文本节点
2)添加、移除、替换、插入
appendChild()      //添加
removeChild()      //移除
replaceChild()      //替换
insertBefore()      //插入
3)查找
getElementsByTagName()    //通过标签名称
getElementsByName()     //通过元素的Name属性的值
getElementById()        //通过元素Id,唯一性
37.有这样一个URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e,请写一段JS程序提取URL中的各个GET参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中,如{a:’1′, b:’2′, c:”, d:’xxx’, e:undefined}。
答案:

function serilizeUrl(url) {
var urlObject = {};
if (/\?/.test(url)) {var urlString = url.substring(url.indexOf("?") + 1);var urlArray = urlString.split("&");for (var i = 0, len = urlArray.length; i < len; i++) {var urlItem = urlArray[i];var item = urlItem.split("=");urlObject[item[0]] = item[1];}return urlObject;
}
return null;

}
38.正则表达式构造函数var reg=new RegExp(“xxx”)与正则表达字面量var reg=//有什么不同?匹配邮箱的正则表达式?
答案:当使用RegExp()构造函数的时候,不仅需要转义引号(即\”表示”),并且还需要双反斜杠(即\表示一个\)。使用正则表达字面量的效率更高。 
邮箱的正则匹配:
var regMail = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/;
39.看下面代码,给出输出结果。

for(var i=1;i<=3;i++){

setTimeout(function(){
      console.log(i);   
  },0); 
};
答案:4 4 4。
原因:Javascript事件处理器在线程空闲之前不会运行。追问,如何让上述代码输出1 2 3?

for(var i=1;i<=3;i++){

setTimeout((function(a){  //改成立即执行函数
       console.log(a);   
   })(i),0); 
};
 
1           //输出
2
3
40.写一个function,清除字符串前后的空格。(兼容所有浏览器)
使用自带接口trim(),考虑兼容性:

if (!String.prototype.trim) { 

String.prototype.trim = function() {
 return this.replace(/^\s+/, “”).replace(/\s+$/,"");
 }
}
 
// test the function
var str = " \t\n test string ".trim();
alert(str == “test string”); // alerts “true”
41.Javascript中callee和caller的作用?
caller是返回一个对函数的引用,该函数调用了当前函数;
callee是返回正在被执行的function函数,也就是所指定的function对象的正文。
那么问题来了?如果一对兔子每月生一对兔子;一对新生兔,从第二个月起就开始生兔子;假定每对兔子都是一雌一雄,试问一对兔子,第n个月能繁殖成多少对兔子?(使用callee完成)

var result=[];

function fn(n){  //典型的斐波那契数列
   if(n1){
        return 1;
   }else if(n
2){
           return 1;
   }else{
        if(result[n]){
                return result[n];
        }else{
                //argument.callee()表示fn()
                result[n]=arguments.callee(n-1)+arguments.callee(n-2);
                return result[n];
        }
   }
}
42.Javascript中, 以下哪条语句一定会产生运行错误? 答案( B C )
var _变量=NaN;B、var 0bj = [];C、var obj = //; D、var obj = {};
43.以下两个变量a和b,a+b的哪个结果是NaN? 答案( AC )
A、var a=undefined; b=NaN
B、var a=‘123’; b=NaN
C、var a =undefined , b =NaN
var a=NaN , b=‘undefined’
44.var a=10; b=20; c=4; ++b+c+a++ 以下哪个结果是正确的?答案( B )
A、34 B、35 C、36 D、37
45.下面的JavaScript语句中,( D )实现检索当前页面中的表单元素中的所有文本框,并将它们全部清空
A. for(vari=0;i< form1.elements.length;i++) {
if(form1.elements.type==”text”)
form1.elements.value=”";}
B. for(vari=0;i<document.forms.length;i++) {
if(forms[0].elements.type==”text”)
forms[0].elements.value=”";
}
C. if(document.form.elements.type==”text”)
form.elements.value=”";
D. for(vari=0;i<document.forms.length; i++){
for(var j=0;j<document.forms.elements.length; j++){
if(document.forms.elements[j].type==”text”)
document.forms.elements[j].value=”";
}
}
46.要将页面的状态栏中显示“已经选中该文本框”,下列JavaScript语句正确的是( A )
A. window.status=”已经选中该文本框”
B. document.status=”已经选中该文本框”
C. window.screen=”已经选中该文本框”
D. document.screen=”已经选中该文本框”
47.以下哪条语句会产生运行错误:(AD)

A.var obj = ();
B.var obj = [];
C.var obj = {};
D.var obj = //;
48.以下哪个单词不属于javascript保留字:(B)

A.with
B.parent
C.class
D.void
49.请选择结果为真的表达式:(C)

A.null instanceof Object
B.null === undefined
C.null == undefined
D.NaN == NaN
50.Javascript中, 如果已知HTML页面中的某标签对象的id=”username”,用____document.getElementById(‘username’)___ 方法获得该标签对象。
51.typeof运算符返回值中有一个跟javascript数据类型不一致,它是
_______”function”_________。
52.定义了一个变量,但没有为该变量赋值,如果alert该变量,javascript弹出的对话框中显示___undefined______ 。
53.分析代码,得出正确的结果。
var a=10, b=20 , c=30;
++a;
a++;
e=++a+(++b)+(c++)+a++;
alert(e);
弹出提示对话框:77
54.写出函数DateDemo的返回结果,系统时间假定为今天
function DateDemo(){
var d, s=“今天日期是:”;
d = new Date();
s += d.getMonth() +1+"/";
s += d.getDate() + “/”;
s += d.getFullYear();
return s;}
结果:今天日期是:7/17/2010
55.写出程序运行的结果?
for(i=0, j=0; i<10, j<6; i++, j++){
k = i + j;}
结果:10
56.阅读以下代码,请分析出结果:
var arr = new Array(1 ,3 ,5);
arr[4]=‘z’;
arr2 = arr.reverse();
arr3 = arr.concat(arr2);
alert(arr3);
弹出提示对话框:z,5,3,1,z,5,3,1
57.补充按钮事件的函数,确认用户是否退出当前页面,确认之后关闭窗?


城市生活 都市早报 青山绿水 61.截取字符串abcdefg的efg alert('abcdefg'.substring(4)); 62.列举浏览器对象模型BOM里常用的至少4个对象,并列举window对象的常用方法至少5个 对象:window, document, location, screen, history, navigator 方法:alert(), confirm(), prompt(), open(), close() 63.简述列举文档对象模型DOM里document的常用的查找访问节点的方法并做简单说明 Document.getElementById 根据元素id查找元素 Document.getElementByName 根据元素name查找元素 Document.getElementTagName 根据指定的元素名查找元素 64.希望获取到页面中所有的checkbox怎么做?(不使用第三方框架) var domList = document.getElementsByTagName(‘input’) var checkBoxList = []; var len = domList.length;  //缓存到局部变量 while (len--) {  //使用while的效率会比for循环更高   if (domList[len].type == ‘checkbox’) {   checkBoxList.push(domList[len]);   } } 65.简述创建函数的几种方式 第一种(函数声明):  function sum1(num1,num2){    return num1+num2; } 第二种(函数表达式): var sum2 = function(num1,num2){    return num1+num2; } 第三种(函数对象方式): var sum3 = new Function("num1","num2","return num1+num2");

66.Javascript如何实现继承?
1.构造继承法
2.原型继承法
3.实例继承法
67.Javascript创建对象的几种方式?
1、var obj = {};(使用json创建对象)
如:obj.name = ‘张三’;​
obj.action = function ()
{
alert(‘吃饭’);
}​;
2、var obj = new Object();(使用Object创建对象)
如:obj.name = ‘张三’;​
obj.action = function ()
{
alert(‘吃饭’);
}​;
3、​通过函数创建对象。
(1)、使用this关键字​
如:var obj = function (){
this.name =‘张三’;
this.age = 19;
this.action = function ()
{
alert(‘吃饭’);
}​;
}​
(2)、使用prototype关键字
如:function obj (){}
​ obj.prototype.name =‘张三’;
​obj.prototype.action=function ()
{
alert(‘吃饭’);
}​;
4、通过Window创建对象。
如:window.name = '‘张三’;
window.age = 19;
window.action= function()
{
alert(‘吃饭’);
};
5、使用内置对象创建对象。
如:var str = new String(“实例初始化String”);
var str1 = “直接赋值的String”;
var func = new Function(“x”,“alert(x)”);//示例初始化func
var obj = new Object();//示例初始化一个Object
68.iframe的优缺点?
优点:

  1. 解决加载缓慢的第三方内容如图标和广告等的加载问题
  2. Security sandbox
  3. 并行加载脚本
    缺点:
  4. iframe会阻塞主页面的Onload事件
  5. 即时内容为空,加载也需要时间
  6. 没有语意
    69.请你谈谈Cookie的弊端?
    缺点:
    1.Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。
    2.安全性问题。如果cookie被人拦截了,那人就可以取得所有的session信息。即使加密也与事无补,因为拦截者并不需要知道cookie的意义,他只要原样转发cookie就可以达到目的了。
    3.有些状态不可能保存在客户端。例如,为了防止重复提交表单,我们需要在服务器端保存一个计数器。如果我们把这个计数器保存在客户端,那么它起不到任何作用。
    70.js延迟加载的方式有哪些?
  7. defer和async
  8. 动态创建DOM方式(创建script,插入到DOM中,加载完毕后callBack)
  9. 按需异步载入js
    71.documen.write和 innerHTML 的区别?
    document.write 只能重绘整个页面
    innerHTML 可以重绘页面的一部分
    72.哪些操作会造成内存泄漏?
    内存泄漏指任何对象在您不再拥有或需要它之后仍然存在。
    垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为 0(没有其他对象引用过该对象),或对该对象的惟一引用是循环的,那么该对象的内存即可回收。
  10. setTimeout 的第一个参数使用字符串而非函数的话,会引发内存泄漏。
  11. 闭包
  12. 控制台日志
  13. 循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)
    73.判断一个字符串中出现次数最多的字符,统计这个次数
    答:var str = ‘asdfssaaasasasasaa’;
    var json = {};
    for (var i = 0; i < str.length; i++) {
            if(!json[str.charAt(i)]){
                    json[str.charAt(i)] = 1;
            }else{
                    json[str.charAt(i)]++;
            }
    };
    var iMax = 0;
    var iIndex = ‘’;
    for(var i in json){
            if(json[i]>iMax){
                    iMax = json[i];
                    iIndex = i;
            }
    }
    alert(‘出现次数最多的是:’+iIndex+‘出现’+iMax+‘次’);
    74.写一个获取非行间样式的函数
    function getStyle(obj,attr,value)
    {
    if(!value)
    {
    if(obj.currentStyle)
    {
    return obj.currentStyle(attr);
    }
    else{
    obj.getComputedStyle(attr,false);
    }
    }
    else
    {
    obj.style[attr] = value;
    }
    }
    75.事件委托是什么
    让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!
    76.闭包是什么,有什么特性,对页面有什么影响
        答:我的理解是,闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。
    function outer(){
        var num = 1;
        function inner(){
            var n = 2;
            alert(n + num);
        }
        return inner;
    }
    outer()();

http://blog.csdn.net/gaoshanwudi/article/details/7355794 此链接可查看(问这个问题的不是一个公司)
77.解释jsonp的原理,以及为什么不是真正的ajax
动态创建script标签,回调函数
Ajax是页面无刷新请求数据操作
78.javascript的本地对象,内置对象和宿主对象
本地对象为array obj regexp等可以new实例化
内置对象为gload Math 等不可以实例化的
宿主为浏览器自带的document,window 等
79.字符串反转,如将 ‘12345678’ 变成 ‘87654321’
//大牛做法;
//思路:先将字符串转换为数组 split(),利用数组的反序函数 reverse()颠倒数组,再利用 jion() 转换为字符串
var str = ‘12345678’;
str = str.split(’’).reverse().join(’’);
80.将数字 12345678 转化成 RMB形式 如: 12,345,678 
//个人方法;
//思路:先将数字转为字符, str= str + ‘’ ;
//利用反转函数,每三位字符加一个 ','最后一位不加; re()是自定义的反转函数,最后再反转回去!
function re(str) {
str += ‘’;
return str.split("").reverse().join("");
}

function toRMB(num) {
var tmp=’’;
for (var  i  =  1;  i  <=  re(num).length;  i++) {    
tmp  +=  re(num)[i  -  1];    
if (i  %  3  ==  0  &&  i  !=  re(num).length) {        
tmp  +=  ‘,’;    
}
}
return re(tmp);
}
81.生成5个不同的随机数;
//思路:5个不同的数,每生成一次就和前面的所有数字相比较,如果有相同的,则放弃当前生成的数字!
var num1 = [];
for(var i = 0; i < 5; i++){
    num1[i] = Math.floor(Math.random()*10) + 1; //范围是 [1, 10]
    for(var j = 0; j < i; j++){
        if(num1[i] == num1[j]){
            i–;
重新覆盖第i(重复)个值,可以将其删除或是重新的生成这个i值就会替换掉这个重复的值
        }
    }
}
82.去掉数组中重复的数字 方法一;

//思路:每遍历一次就和之前的所有做比较,不相等则放入新的数组中!

//这里用的原型 个人做法;
Array.prototype.unique = function(){
    var len = this.length,
        newArr = [],
        flag = 1;
    for(var i = 0; i < len; i++, flag = 1){
        for(var j = 0; j < i; j++){
            if(this[i] == this[j]){
                flag = 0;        //找到相同的数字后,不执行添加数据
            }
        }
For 循环会遍历完所有的条件值才会跳出for循环,除非有一个让他跳出循环的语句,
他才会提前终止循环、

flag ? newArr.push(this[i]) : ‘’;
    }
    return newArr;
}
    方法二:
var arr=[1,2,3,3,4,4,5,5,6,1,9,3,25,4];
Array.prototype.unique2 = function()
{
var n = []; //一个新的临时数组
for(var i = 0; i < this.length; i++) //遍历当前数组
{
//如果当前数组的第i已经保存进了临时数组,那么跳过,
//否则把当前项push到临时数组里面
if (n.indexOf(this[i]) == -1) n.push(this[i]);
}
return n;
}
Arr.indexOf (3)获得指定数组下的指定的元素值的下标索引号
var newArr2=arr.unique2(arr);
alert(newArr2); //输出1,2,3,4,5,6,9,25

83.阶乘函数;
//原型方法
Number.prototype.N = function(){
    var re = 1;
    for(var i = 1; i <= this; i++){
        re *= i;
    }
    return re;
}
var num = 5;
alert(num.N());
84.window.location.search() 返回的是什么?
    答:查询(参数)部分。除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值
        返回值:?ver=1.0&id=timlq 也就是问号后面的!
85.window.location.hash 返回的是什么?
    答:锚点 , 返回值:#love ;
86.window.location.reload() 作用?
    答:刷新当前页面。
87.、javascript 中的垃圾回收机制?
    答:在Javascript中,如果一个对象不再被引用,那么这个对象就会被GC回收。如果两个对象互相引用,而不再  被第3者所引用,那么这两个互相引用的对象也会被回收。因为函数a被b引用,b又被a外的c引用,这就是为什么  函数a执行后不会被回收的原因。
88.看题做答:
function f1(){
    var tmp = 1;
    this.x = 3;
    console.log(tmp);    //A
    console.log(this.x);     //B
}
var obj = new f1(); //1
console.log(obj.x)     //2
console.log(f1());        //3
    分析:    
        这道题让我重新认识了对象和函数,首先看代码(1),这里实例话化了 f1这个类。相当于执行了 f1函数。所以这个时候 A 会输出 1, 而 B 这个时候的 this 代表的是 实例化的当前对象 obj B 输出 3.。 代码(2)毋庸置疑会输出 3, 重点 代码(3)首先这里将不再是一个类,它只是一个函数。那么 A输出 1, B呢?这里的this 代表的其实就是window对象,那么this.x 就是一个全局变量 相当于在外部 的一个全局变量。所以 B 输出 3。最后代码由于f没有返回值那么一个函数如果没返回值的话,将会返回 underfined ,所以答案就是 : 1, 3, 3, 1, 3, underfined 。
89.下面输出多少?
var o1 = new Object();
var o2 = o1;
o2.name = “CSSer”;
console.log(o1.name);
  如果不看答案,你回答真确了的话,那么说明你对javascript的数据类型了解的还是比较清楚了。js中有两种数据类型,分别是:基本数据类型和引用数据类型(object Array)。对于保存基本类型值的变量,变量是按值访问的,因为我们操作的是变量实际保存的值。对于保存引用类型值的变量,变量是按引用访问的,我们操作的是变量值所引用(指向)的对象。答案就清楚了:  //CSSer;
90.再来一个
function changeObjectProperty (o) {
    o.siteUrl = “http://www.csser.com/”;
    o = new Object();
    o.siteUrl = “http://www.popcg.com/”;
}
var CSSer = new Object();
changeObjectProperty(CSSer);
console.log(CSSer.siteUrl); //
    如果CSSer参数是按引用传递的,那么结果应该是"http://www.popcg.com/",但实际结果却仍是"http://www.csser.com/"。事实是这样的:在函数内部修改了引用类型值的参数,该参数值的原始引用保持不变。我们可以把参数想象成局部变量,当参数被重写时,这个变量引用的就是一个局部变量,局部变量的生存期仅限于函数执行的过程中,函数执行完毕,局部变量即被销毁以释放内存。    
    (补充:内部环境可以通过作用域链访问所有的外部环境中的变量对象,但外部环境无法访问内部环境。每个环境都可以向上搜索作用域链,以查询变量和函数名,反之向下则不能。)
91.a输出多少?
var a = 6;
setTimeout(function () {    
    var a = 666;
    alert(a);      // 输出666,
}, 1000);
因为var a = 666;定义了局部变量a,并且赋值为666,根据变量作用域链,
全局变量处在作用域末端,优先访问了局部变量,从而覆盖了全局变量 。
var a = 6;
setTimeout(function () {    
    alert(a);      // 输出undefined 
    var a = 666;
}, 1000);
因为var a = 666;定义了局部变量a,同样覆盖了全局变量,但是在alert(a);之前
a并未赋值,所以输出undefined。

var a = 6; 

setTimeout(function(){
    alert(a);
    var a = 66; 
}, 1000);
a = 666; 
alert(a); 
// 666, undefined;
记住: 异步处理,一切OK 声明提前
92.看程序,写结果
function setN(obj){
    obj.name=‘屌丝’;
    obj = new Object(); 
    obj.name = ‘腐女’;
};
var per = new Object();
setN(per);
alert(per.name);  //屌丝 内部
93.JS的继承性
window.color = ‘red’;
var o = {color: ‘blue’};
function sayColor(){
    alert(this.color);
}
sayColor(); //red
sayColor.call(this); //red this-window对象
sayColor.call(window); //red
sayColor.call(o); //blue
94.精度问题: JS 精度不能精确到 0.1 所以  。。。。同时存在于值和差值中
var n = 0.3,m = 0.2, i = 0.2, j = 0.1;
alert((n - m) == (i - j)); //false
alert((n-m) == 0.1); //false
alert((i-j)==0.1); //true
95.加减运算
alert(‘5’+3); //53 string
alert(‘5’+‘3’); //53 string
alert(‘5’-3); //2 number
alert(‘5’-‘3’); //2 number
96.什么是同源策略?
    指: 同协议、端口、域名的安全策略,由王景公司提出来的安全协议!
97.为什么不能定义1px左右的div容器?   
IE6下这个问题是因为默认的行高造成的,解决的方法也有很多,例如:
overflow:hidden | zoom:0.08 | line-height:1px
98.结果是什么?
function foo(){
    foo.a = function(){alert(1)}; 
    this.a = function(){alert(2)};
    a = function(){alert(3)};
    var a = function(){alert(4)};
}; 
foo.prototype.a = function(){alert(5)};
foo.a = function(){alert(6)};
foo.a(); //6
var obj = new foo();
obj.a(); //2
foo.a(); //1
99.输出结果
var a = 5; 
function test(){
    a = 0; 
    alert(a); 
    alert(this.a); //没有定义 a这个属性
    var a; 
    alert(a)
}
test(); // 0, 5, 0
new test(); // 0, undefined, 0 //由于类它自身没有属性a, 所以是undefined
100.计算字符串字节数:
new function(s){ 
     if(!arguments.length||!s) return null;  
     if(""==s) return 0;     
     var l=0;
     for(var i=0;i<s.length;i++){        
         if(s.charCodeAt(i)>255) l+=2; else l+=1;  //charCodeAt()得到的是unCode码   
     }     //汉字的unCode码大于 255bit 就是两个字节
     alert(l); 
}(“hello world!”);
101.结果是:
var bool = !!2; alert(bool);//true;
双向非操作可以把字符串和数字转换为布尔值。
102.声明对象,添加属性,输出属性
    var obj = {
        name: ‘leipeng’,
        showName: function(){
            alert(this.name);
        }
    }
obj.showName();
103.匹配输入的字符:第一个必须是字母或下划线开头,长度5-20
var reg = /1[a-zA-Z0-9_]{5,20}/,
            name1 = ‘leipeng’,
            name2 = ‘0leipeng’,
            name3 = ‘你好leipeng’,
            name4 = ‘hi’;
     
        alert(reg.test(name1));
        alert(reg.test(name2));
        alert(reg.test(name3));
        alert(reg.test(name4));
104.检测变量类型
function checkStr(str){
return str ==‘string’;
}

console.log(checkStr(“aaa”));
105.如何在HTML中添加事件,几种方法?
    1、标签之中直接添加 οnclick=“fun()”;
    2、JS添加 Eobj.onclick = method;
    3、现代事件  IE: obj.attachEvent(‘onclick’, method);
                FF: obj.addEventListener(‘click’, method, false);
106.BOM对象有哪些,列举window对象?
    1、window对象 ,是JS的最顶层对象,其他的BOM对象都是window对象的属性;
    2、document对象,文档对象;
    3、location对象,浏览器当前URL信息;
    4、navigator对象,浏览器本身信息;
    5、screen对象,客户端屏幕信息;
    6、history对象,浏览器访问历史信息;
107.请问代码实现 outerHTML
    //说明:outerHTML其实就是innerHTML再加上本身;
Object.prototype.outerHTML = function(){
        var innerCon = this.innerHTML, //获得里面的内容
            outerCon = this.appendChild(innerCon); //添加到里面
        alert(outerCon); 
    }
    演示代码:
     
 <!doctype html>
 
  
    
    Document
  
  
    


       hello
    

  
 
 
108.JS中的简单继承 call方法!
//顶一个父母类,注意:类名都是首字母大写的哦!
  function Parent(name, money){
            this.name = name;
            this.money = money;
            this.info = function(){
                alert('姓名: ‘+this.name+’ 钱: '+ this.money);
            }
        }
        //定义孩子类
        function Children(name){
            Parent.call(this, name); //继承 姓名属性,不要钱。  
            this.info = function(){
                alert('姓名: '+this.name);
            }
        }
        //实例化类
        var per = new Parent(‘parent’, 800000000000);
        var chi = new Children(‘child’);
        per.info();
        chi.info();
109.bind(), live(), delegate()的区别
    bind: 绑定事件,对新添加的事件不起作用,方法用于将一个处理程序附加到每个匹配元素的事件上并返回jQuery对象。
    live: 方法将一个事件处理程序附加到与当前选择器匹配的所有元素(包含现有的或将来添加的)的指定事件上并返回jQuery对象。
    delegate: 方法基于一组特定的根元素将处理程序附加到匹配选择器的所有元素(现有的或将来的)的一个或多个事件上。  
110.看下列代码输出什么?
var foo = “11”+2-“1”;
console.log(foo);
console.log(typeof foo);
执行完后foo的值为111,foo的类型为Number。
111.看下列代码,输出什么?
var a = new Object();
a.value = 1;
b = a;
b.value = 2;
alert(a.value);
执行完后输出结果为2
112.你如何优化自己的代码?
代码重用
避免全局变量(命名空间,封闭空间,模块化mvc…)
拆分函数避免函数过于臃肿
注释
113.请描述出下列代码运行的结果
function d(){
console.log(this);
}
d();//输出window对象
114.怎样实现两栏等高?

Title

115.使用js实现这样的效果:在文本域里输入文字时,当按下enter键时不换行,而是替换成“{{enter}}”,(只需要考虑在行尾按下enter键的情况).

116.以下代码中end字符串什么时候输出
var t=true;
setTimeout(function(){
console.log(123);
t=false;
},1000);
while(t){}
console.log(‘end’);
永远不输出
117.specify(‘hello,world’)//=>’h,e,l,l,o,w,o,r,l,d’实现specify函数
function specify(str){
var tempArray = Array.prototype.filter.call(str,function(value,index,array){
return value >= ‘A’ && value <= ‘z’ && value != “_”;
});
return tempArray.join(",");
}

console.log(specify(“hedd____df*(%$#a !!!))))))llo,Wo@@@r ld”)); //h,e,l,l,o,W,o,r,l,d

118.请将一个URL的search部分参数与值转换成一个json对象
119.请用原生js实现jquery的get\post功能,以及跨域情况下
120.请简要描述web前端性能需要考虑哪方面,你的优化思路是什么?
121.、简述readyonly与disabled的区别
ReadOnly和Disabled的作用是使用户不能够更改表单域中的内容.
但是二者还是有着一些区别的:
1、Readonly只针对input(text/password)和textarea有效,而disabled对于所有的表单元素有效,包括select,radio,checkbox,button等。
2、在表单元素使用了disabled后,我们将表单以POST或者GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去
122.写出3个使用this的典型应用
123.请尽可能详尽的解释ajax的工作原理
Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。

简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对 XMLHttpRequest有所了解。

124.、为什么扩展javascript内置对象不是好的做法?
因为你不知道哪一天浏览器或javascript本身就会实现这个方法,而且和你扩展的实现有不一致的表现。到时候你的javascript代码可能已经在无数个页面中执行了数年,而浏览器的实现导致所有使用扩展原型的代码都崩溃了。。。

125.什么是三元表达式?“三元”表示什么意思?
三元运算符:
三元如名字表示的三元运算符需要三个操作数。
语法是 条件 ? 结果1 : 结果2;. 这里你把条件写在问号(?)的前面后面跟着用冒号(:)分隔的结果1和结果2。满足条件时结果1否则结果2。

126.浏览器标准模式和怪异模式之间的区别是什么?
所谓的标准模式是指,浏览器按W3C标准解析执行代码;怪异模式则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以我们称之为怪异模式
127.modulo(12,5)//2 实现满足这个结果的modulo函数
128.HTTP协议中,GET和POST有什么区别?分别适用什么场景 ?
129.HTTP状态消息200 302 304 403 404 500分别表示什么
130.HTTP协议中,header信息里面,怎么控制页面失效时间(last-modified,cache-control,Expires分别代表什么)
131.HTTP雷锋议目前常用的有哪几个?KEEPALIVE从哪个版本开始出现的?
132.业界常用的优化WEB页面加载速度的方法(可以分别从页面元素展现,请求连接,css,js,服务器等方面介绍)
133.列举常用的web页面开发,调试以及优化工具
134.解释什么是sql注入,xss漏洞
135.如何判断一个js变量是数组类型
136.请列举js数组类型中的常用方法
137.FF与IE中如何阻止事件冒泡,如何获取事件对象,以及如何获取触发事件的元素
function stopPropagation(e) {  
    e = e || window.event;  
    if(e.stopPropagation) { //W3C阻止冒泡方法  
        e.stopPropagation();  
    } else {  
        e.cancelBubble = true; //IE阻止冒泡方法  
    }  
}  
document.getElementById(‘need_hide’).onclick = function(e) {  
    stopPropagation(e);  
}

138.列举常用的js框架以及分别适用的领域
139.js中如何实现一个map
140.js可否实现面向对象编程,如果可以如何实现js对象的继承
141.约瑟夫环—已知n个人(以编号1,2,3…分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。
142.有1到10w这个10w个数,去除2个并打乱次序,如何找出那两个数?
143.如何获取对象a拥有的所有属性(可枚举的、不可枚举的,不包括继承来的属性)
144.有下面这样一段HTML结构,使用css实现这样的效果:
左边容器无论宽度如何变动,右边容器都能自适应填满父容器剩余的宽度。

145.下面这段代码想要循环输出结果01234,请问输出结果是否正确,如果不正确,请说明为什么,并修改循环内的代码使其输出正确结果 for(var i=0;i<5;++i){ setTimeout(function(){ console.log(i+’’); },100*i);异步线程,后执行 } 146.以下哪些是javascript的全局函数:(ABC) A. escape 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。 B. parseFloat parseFloat() 函数可解析一个字符串,并返回一个浮点数。 该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。 C. eval 函数可计算某个字符串,并执行其中的的 JavaScript 代码。 D. setTimeout E. alert

147.关于IE的window对象表述正确的有:(ACD)
A. window.opener属性本身就是指向window对象
B. window.reload()方法可以用来刷新当前页面 应该是location.reload或者window.location.reload
C. window.location=”a.html”和window.location.href=”a.html”的作用都是把当前页面替换成a.html页面
D. 定义了全局变量g;可以用window.g的方式来存取该变量
148.下面正确的是 A
A: 跨域问题能通过JsonP方案解决 B:不同子域名间仅能通过修改window.name解决跨域 还可以通过script标签src jsonp等h5 Java split等
C:只有在IE中可通过iframe嵌套跨域 D:MediaQuery属性是进行视频格式检测的属性是做响应式的
149.错误的是 B
A: Ajax本质是XMLHttpRequest
B: 块元素实际占用的宽度与它的width、border、padding属性有关,与background无关 还有margin
C: position属性absolute、fixed、—relative—会使文档脱标
D: float属性left也会使div脱标
答案C:relative不会脱离文档流
150.不用任何插件,如何实现一个tab栏切换?
151.变量的命名规范以及命名推荐
变量,函数,方法:小写开头,以后的每个单词首字母大写 (驼峰)
构造函数,class:每个单词大写开头
基于实际情况,以动词,名词,谓词来命名。尽量言简意骇,以命名代替注释

152.三种弹窗的单词以及三种弹窗的功能
1.alert
//弹出对话框并输出一段提示信息
function ale() {
//弹出一个对话框
alert(“提示信息!”);

}  

2.confirm
//弹出一个询问框,有确定和取消按钮
function firm() {
//利用对话框返回的值 (true 或者 false)
if (confirm(“你确定提交吗?”)) {
alert(“点击了确定”);
}
else {
alert(“点击了取消”);
}

}  

3.prompt
//弹出一个输入框,输入一段文字,可以提交
function prom() {
var name = prompt(“请输入您的名字”, “”); //将输入的内容赋给变量 name ,

    //这里需要注意的是,prompt有两个参数,前面是提示的话,后面是当对话框出来后,在对话框里的默认值  if (name)//如果返回的有内容  {  alert("欢迎您:" + name)  }  }

153.console.log( 8 | 1 ); 输出值是多少?
答案:9
154.只允许使用 + - * / 和 Math.* ,求一个函数 y = f(x, a, b);当x > 100 时返回 a 的值,否则返回 b 的值,不能使用 if else 等条件语句,也不能使用|,?:,数组。
答案:
function f(x, a, b) {
var temp = Math.ceil(Math.min(Math.max(x - 100, 0), 1));

return a * temp + b * (1 - temp);

}
console.log(f(-10, 1, 2));
155.JavaScriptalert(0.4*0.2);结果是多少?和你预期的一样吗?如果不一样该如何处理?
有误差,应该比准确结果偏大。 一般我会将小数变为整数来处理。当前之前遇到这个问题时也上网查询发现有人用try catch return写了一个函数,
当然原理也是一致先转为整数再计算。
156.一个div,有几种方式得到这个div的jQuery对象?

想直接获取这个div的dom对象,如何获取?dom对象如何转化为jQuery对象?
$(“#nodesView”) , (“.aabbcc”),(“.aabbcc”) ,(.aabbcc),(“#nodesView”)[0] , $(“.aabbcc”)[0]

157.、主流浏览器内核
IE trident 火狐gecko 谷歌苹果webkit Opera:Presto
158.如何显示/隐藏一个dom元素?请用原生的JavaScript方法实现
159.jQuery框架中$.ajax()的常用参数有哪些?写一个post请求并带有发送数据和返回数据的样例
async是否异步
url请求地址
contentType发送信息至服务器时内容编码类型
data发送到服务器的数据
dataType预期服务器返回的数据类型
type请求类型
success请求成功回调函数
error请求失败回调函数

$.ajax({
url: “/jquery/test1.txt”,
type: ‘post’,
data: {
id: 1
},
success: function(data) {
alert(data);
}
}

160.JavaScript的循环语句有哪些?
For,for…in,while,do…while
161.作用域-编译期执行期以及全局局部作用域问题
162.闭包:下面这个ul,如何点击每一列的时候alert其index?

  • 这是第一条
  • 这是第二条
  • 这是第三条
//js window.onload = function() { var lis = document.getElementById('test').children; for (var i = 0; i < lis.length; i++) { lis[i].onclick = (function(i) { return function() { alert(i) }; })(i); }; } 163.列出3条以上ff和IE的脚本兼容问题 (1) window.event:  表示当前的事件对象,IE有这个对象,FF没有,FF通过给事件处理函数传递事件对象 

(2) 获取事件源 
IE用srcElement获取事件源,而FF用target获取事件源

(3) 添加,去除事件 
IE:element.attachEvent(“onclick”, function) element.detachEvent(“onclick”, function) 
FF:element.addEventListener(“click”, function, true) element.removeEventListener(“click”, function, true)

(4) 获取标签的自定义属性 
IE:div1.value或div1[“value”] 
FF:可用div1.getAttribute(“value”) 
164.如现在有一个效果,有显示用户头像、用户昵称、用户其他信息;当用户鼠标移到头像上时,会弹出用户的所有信息;如果是你,你会如何实现这个功能,请用代码实现?
(略)
提示:先写个div将用户信息放入,默认隐藏,当使用:hover样式显示这个div
165.用正则表达式,写出由字母开头,其余由数字、字母、下划线组成的6~30的字符串?
2{1}[\w]{5,29}$
166.列举浏览器对象模型BOM里常用的至少4个对象,并列举window对象的常用方法至少5个 (10分)
对象:Window document location screen history navigator
方法:Alert() confirm() prompt() open() close()
167.在Javascript中什么是伪数组?如何将伪数组转化为标准数组?
答案:
伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们。典型的是函数的argument参数,还有像调用getElementsByTagName,document.childNodes之类的,它们都返回NodeList对象都属于伪数组。可以使用Array.prototype.slice.call(fakeArray)将数组转化为真正的Array对象。
168.写一个函数可以计算 sum(5,0,-5);输出0; sum(1,2,3,4);输出10;
function sum() {
var result = 0;
var arr = arguments;
for (var i = 0; i < arr.length; i++) {
var num = arguments[i];
if (typeof num==‘number’) {
result += num;
};
};
return result;
}
169.《正则》写出正确的正则表达式匹配固话号,区号3-4位,第一位为0,中横线,7-8位数字,中横线,3-4位分机号格式的固话号
3\d{2,3}-\d{7,8}-\d{3,4}$
170.《算法》 一下A,B可任选一题作答,两题全答加分
A:农场买了一只羊,第一年是小羊,第二年底生一只,第三年不生,第四年底再生一只,第五年死掉。
B:写出代码对下列数组去重并从大到小排列{5,2,3,6,8,6,5,4,7,1,9}
function fn(arr){
for (var i = 0; i <arr.length-1; i++) {
for (var j = 0; j <arr.length-1-i; j++) {
if(arr[j]<arr[j+1]){
var temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}

    }}

for (i = 0; i <arr.length; i++) {
var c=arr[i];
for (var s = i+1; s <arr.length; s++) {
if(arr[s]==c){
//debugger;
arr.splice(s,1);
s–;
}

    }
}

return arr;
}
console.log(fn([5,2,3,6,8,6,5,4,7,1,9]).toString());

171.请写一个正则表达式:要求最短6位数,最长20位,阿拉伯数和英文字母(不区分大小写)组成
^(?=.\d)(?=.[a-z])(?=.*[A-Z])[a-zA-Z\d]{6,20}$
172.统计1到400亿之间的自然数中含有多少个1?比如1-21中,有1、10、11、21这四个自然数有5个1
173.删除与某个字符相邻且相同的字符,比如fdaffdaaklfjklja字符串处理之后成为“fdafdaklfjklja”
174.请写出三种以上的Firefox有但,InternetExplorer没有的属性或者函数
175.请写出一个程序,在页面加载完成后动态创建一个form表单,并在里面添加一个input对象并给它任意赋值后义post方式提交到:http://127.0.0.1/save.php
window.οnlοad=function(){
var form=document.createElement(“form”);
form.setAttribute(“method”, “post”);
form.setAttribute(“action”, “http://127.0.0.1/save.php”);
var input=document.createElement(“input”);
form.appendChild(input);
document.body.appendChild(form);
input.value=“cxc”;
form.submit();//提交表单
}

176.用JavaScript实现冒泡排序。数据为23、45、18、37、92、13、24
//升序算法
function sort(arr){
for (var i = 0; i <arr.length; i++) {
for (var j = 0; j <arr.length-i; j++) {
if(arr[j]>arr[j+1]){
var c=arr[j];//交换两个变量的位置
arr[j]=arr[j+1];
arr[j+1]=c;
}
};
};
return arr.toString();
}
console.log(sort([23,45,18,37,92,13,24]));

177.前端代码优化的方法
var User = {
count = 1,
getCount:function(){
return this.count;
}
}
console.log(User.getCount());
var func = User.getCount;
console.log(func());
1 undefined(因为是window对象执行了func函数);
178.下列JavaScript代码执行后,依次alert的结果是

(function test(){
var a=b=5;
alert(typeof a);
alert(typeof b);
})();
alert(typeof a);
alert(typeof b);
答案:number
number
undefined
number
179.下列JavaScript代码执行后,iNum的值是
var iNum = 0;
for(var i = 1; i< 10; i++){
if(i % 5 == 0){
continue;
}
iNum++;
}
答案:8
180.输出结果是多少?
1) var a;
var b = a * 0;
if (b == b) {
console.log(b * 2 + “2” - 0 + 4);
} else {
console.log(!b * 2 + “2” - 0 + 4); 加号是字符串连接,减号是转义为number
}
答案:26
2)

答案:6
3) var t = 10;
function test(t){
var t = t++;
}test(t);
console.log(t);
答案:10
4) var t = 10;
function test(test){
var t = test++; 在函数内的t++;就是先运算在自加加一
}test(t);
console.log(t);
答案:10
6) var t = 10;
function test(test){
t = test++;
}test(t);
console.log(t);
答案:10
7) var t = 10;
function test(test){
t = t + test;
console.log(t);
var t = 3;
}test(t);
console.log(t);
答案:NaN 10
8)var a;
var b = a / 0;
if (b == b) {
console.log(b * 2 + “2” - 0 + 4);
} else {
console.log(!b * 2 + “2” - 0 + 4);
}
答案:26
9)

答案:Infinity24

181.用程序实现找到html中id名相同的元素?

id名重复的元素
var nodes=document.querySelectorAll("#form1>*"); for(var i=0,len=nodes.length;i

182.下列JavaScript代码执行后,运行的结果是
点击我
var btn = document.getElementById(‘btn’);
var handler = {
id: ‘_eventHandler’,
exec: function(){
alert(this.id);
}
}
btn.addEventListener(‘click’, handler.exec); 指向当前的对象
答案:”btn”
183.下列JavaScript代码执行后,依次alert的结果是
var obj = {proto: {a:1,b:2}};
function F(){};
F.prototype = obj.proto; 构造函数的原型继承
var f = new F();
obj.proto.c = 3;
obj.proto = {a:-1, b:-2};
alert(f.a); 1
alert(f.c);
delete F.prototype[‘a’];
alert(f.a);
alert(obj.proto.a);
答案:
1
3
undefined
-1

184.下列JavaScript代码执行后的效果是

  • item
  • item
  • item
  • item
  • item
var items = document.querySelectorAll('#list>li'); for(var i = 0;i < items.length; i++){ setTimeout(function(){ items[i].style.backgroundColor = '#fee'; }, 5); } 答案:报错,因为i一直等于5,items[i]获取不到元素 185.下列JavaScript代码执行后的li元素的数量是
  • Item
  • Item
  • Item

var items = document.getElementsByTagName(‘li’);
for(var i = 0; i< items.length; i++){
if(items[i].innerHTML == ‘’){
items[i].parentNode.removeChild(items[i]);
}
}
186.程序中捕获异常的方法?
window.error
try{}catch(){}finally{}
187.将字符串”{KaTeX parse error: Expected 'EOF', got '}' at position 3: id}̲</td><td>{name}”中的{KaTeX parse error: Expected 'EOF', got '}' at position 3: id}̲替换成10,{name}替换成Tony (使用正则表达式)
答案:’{KaTeX parse error: Expected 'EOF', got '}' at position 3: id}̲</td><td>{id}_{$name}’
.replace(/{$id}/g,‘10’)
.replace(/{$name}/g,‘Tony’)

188.给String对象添加一个方法,传入一个string类型的参数,然后将string的每个字符间价格空格返回,例如:addSpace(“hello world”) // -> ‘h e l l o ?w o r l d’
String.prototype.spacify = function(){
return this.split(’’).join(’ ');
};
189.数组和字符串

输出结果:
答案:lashou 拉手 lashou 1,2,3 1,2,3,4 1,2,3,4
190.下列控制台都输出什么
第1题:
function setName(){
name=“张三”;
}
setName();
console.log(name);
答案:“张三”
第2题:
//考点:1、变量声明提升 2、变量搜索机制
var a=1;
function test(){
console.log(a);
var a=1;
}
test();
答案:undefined
第3题:
var b=2;
function test2(){
window.b=3;
console.log(b);
}
test2();
答案:3
第4题:
c=5;//声明一个全局变量c
function test3(){
window.c=3;
console.log©; //答案:undefined,原因:由于此时的c是一个局部变量c,并且没有被赋值
var c;
console.log(window.c);//答案:3,原因:这里的c就是一个全局变量c
}
test3();
第5题:
var arr = [];
arr[0] = ‘a’;
arr[1] = ‘b’;
arr[10] = ‘c’;
alert(arr.length); //答案:11
console.log(arr[5]); //答案:undefined
第6题:
var a=1;
console.log(a++); //答案:1
console.log(++a); //答案:3
第7题:
console.log(null==undefined); //答案:true
console.log(“1”==1); //答案:true,因为会将数字1先转换为字符串1
console.log(“1”===1); //答案:false,因为数据类型不一致
第8题:
typeof 1; “number”
typeof “hello”; “string”
typeof /[0-9]/; “object”
typeof {}; “object”
typeof null; “object”
typeof undefined; “undefined”
typeof [1,2,3]; “object”
typeof function(){}; //“function”
第9题:
parseInt(3.14); //3
parseFloat(“3asdf”); //3
parseInt(“1.23abc456”);
parseInt(true);//“true” NaN
第10题:
//考点:函数声明提前
function bar() {
return foo;
foo = 10;
function foo() {}
//var foo = 11;
}
alert(typeof bar());//“function”
第11题:考点:函数声明提前
var foo = 1;
function bar() {
foo = 10;
return;
function foo() {}
}
bar();
alert(foo);//答案:1
第12题:
console.log(a);//是一个函数
var a = 3;
function a(){}
console.log(a);3
第13题:
//考点:对arguments的操作
function foo(a) {
arguments[0] = 2;
alert(a);//答案:2,因为:a、arguments是对实参的访问,b、通过arguments[i]可以修改指定实参的值
}
foo(1);
第14题:
function foo(a) {
alert(arguments.length);//答案:3,因为arguments是对实参的访问
}
foo(1, 2, 3);
第15题
bar();//报错
var foo = function bar(name) {
console.log(“hello”+name);
console.log(bar);
};
//alert(typeof bar);
foo(“world”);//“hello”
console.log(bar);//undefined
console.log(foo.toString());
bar();//报错

第16题:以下执行会有什么输出
function test(){
console.log(“test函数”);
}
setTimeout(function(){
console.log(“定时器回调函数”);
}, 0)
test();
结果:
test函数
定时器回调函数

三、HTML5 CSS3
1.CSS3有哪些新特性?

  1. CSS3实现圆角(border-radius),阴影(box-shadow),
  2. 对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform)
    3.transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);// 旋转,缩放,定位,倾斜
  3. 增加了更多的CSS选择器 多背景 rgba
  4. 在CSS3中唯一引入的伪元素是 ::selection.
  5. 媒体查询,多栏布局
  6. border-image
    2.html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
    新特性:
  7. 拖拽释放(Drag and drop) API
  8. 语义化更好的内容标签(header,nav,footer,aside,article,section)
  9. 音频、视频API(audio,video)
  10. 画布(Canvas) API
  11. 地理(Geolocation) API
  12. 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;
  13. sessionStorage 的数据在浏览器关闭后自动删除
  14. 表单控件,calendar、date、time、email、url、search
  15. 新的技术webworker, websocket, Geolocation
    移除的元素:
  16. 纯表现的元素:basefont,big,center,font, s,strike,tt,u;
  17. 对可用性产生负面影响的元素:frame,frameset,noframes;
    支持HTML5新标签:
  18. IE8/IE7/IE6支持通过 document.createElement 方法产生的标签,可以利用这一特性让这些浏览器支持 HTML5 新标签,浏览器支持新标签后,还需要添加标签默认的样式(当然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架):

如何区分:
DOCTYPE声明新增的结构元素、功能元素
3.本地存储(Local Storage )和cookies(储存在用户本地终端上的数据)之间的区别是什么?
Cookies:服务器和客户端都可以访问;大小只有4KB左右;有有效期,过期后将会删除;
本地存储:只有本地浏览器端可访问数据,服务器不能访问本地存储直到故意通过POST或者GET的通道发送到服务器;每个域5MB;没有过期数据,它将保留知道用户从浏览器清除或者使用Javascript代码移除
4.如何实现浏览器内多个标签页之间的通信?
调用 localstorge、cookies 等本地存储方式
5.你如何对网站的文件和资源进行优化?
文件合并
文件最小化/文件压缩
使用CDN托管
缓存的使用
6.什么是响应式设计?
它是关于网页制作的过程中让不同的设备有不同的尺寸和不同的功能。响应式设计是让所有的人能在这些设备上让网站运行正常
7.新的 HTML5 文档类型和字符集是?
答:HTML5文档类型:<!doctype html>
HTML5使用的编码
8.HTML5 Canvas 元素有什么用?
答:Canvas 元素用于在网页上绘制图形,该元素标签强大之处在于可以直接在 HTML 上进行图形操作。
9.HTML5 存储类型有什么区别?
答:Media API、Text Track API、Application Cache API、User Interaction、Data Transfer API、Command API、Constraint Validation API、History API
10.用H5+CSS3解决下导航栏最后一项掉下来的问题
11.CSS3新增伪类有那些?
p:first-of-type 选择属于其父元素的首个

元素的每个

元素。
p:last-of-type 选择属于其父元素的最后

元素的每个

元素。
p:only-of-type 选择属于其父元素唯一的

元素的每个

元素。
p:only-child 选择属于其父元素的唯一子元素的每个

元素。
p:nth-child(2) 选择属于其父元素的第二个子元素的每个

元素。
:enabled、:disabled 控制表单控件的禁用状态。
:checked,单选框或复选框被选中。
12.请用CSS实现:一个矩形内容,有投影,有圆角,hover状态慢慢变透明。
css属性的熟练程度和实践经验
13.描述下CSS3里实现元素动画的方法
动画相关属性的熟悉程度
14.html5\CSS3有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,地理定位等功能的增加。

  • 绘画 canvas 元素
    用于媒介回放的 video 和 audio 元素
    本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;
    sessionStorage 的数据在浏览器关闭后自动删除
    语意化更好的内容元素,比如 article、footer、header、nav、section
    表单控件,calendar、date、time、email、url、search
    CSS3实现圆角,阴影,对文字加特效,增加了更多的CSS选择器 多背景 rgba
    新的技术webworker, websockt, Geolocation
    移除的元素
    纯表现的元素:basefont,big,center,font, s,strike,tt,u;
    对可用性产生负面影响的元素:frame,frameset,noframes;
  • 是IE8/IE7/IE6支持通过document.createElement方法产生的标签,
    可以利用这一特性让这些浏览器支持HTML5新标签,
    浏览器支持新标签后,还需要添加标签默认的样式:
  • 当然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架

15.你怎么来实现页面设计图,你认为前端应该如何高质量完成工作? 一个满屏 品 字布局 如何设计?

  • 首先划分成头部、body、脚部;。。。。。
  • 实现效果图是最基本的工作,精确到2px;
    与设计师,产品经理的沟通和项目的参与
    做好的页面结构,页面重构和用户体验
    处理hack,兼容、写出优美的代码格式
    针对服务器的优化、拥抱 HTML5。
    16.你能描述一下渐进增强和优雅降级之间的不同吗?
    渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
    优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
      区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。 
      “优雅降级”观点
      “优雅降级”观点认为应该针对那些最高级、最完善的浏览器来设计网站。而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段,并把测试对象限定为主流浏览器(如 IE、Mozilla 等)的前一个版本。
      在这种设计范例下,旧版的浏览器被认为仅能提供“简陋却无妨 (poor, but passable)” 的浏览体验。你可以做一些小的调整来适应某个特定的浏览器。但由于它们并非我们所关注的焦点,因此除了修复较大的错误之外,其它的差异将被直接忽略。
      “渐进增强”观点
      “渐进增强”观点则认为应关注于内容本身。
      内容是我们建立网站的诱因。有的网站展示它,有的则收集它,有的寻求,有的操作,还有的网站甚至会包含以上的种种,但相同点是它们全都涉及到内容。这使得“渐进增强”成为一种更为合理的设计范例。这也是它立即被 Yahoo! 所采纳并用以构建其“分级式浏览器支持 (Graded Browser Support)”策略的原因所在。
     
      那么问题了。现在产品经理看到IE6,7,8网页效果相对高版本现代浏览器少了很多圆角,阴影(CSS3),要求兼容(使用图片背景,放弃CSS3),你会如何说服他?
    17.为什么利用多个域名来存储网站资源会更有效?
    CDN缓存更方便 
    突破浏览器并发限制 
    节约cookie带宽 
    节约主域名的连接数,优化页面响应速度 
    防止不必要的安全问题
    18.请谈一下你对网页标准和标准制定机构重要性的理解。
      (无标准答案)网页标准和标准制定机构都是为了能让web发展的更‘健康’,开发者遵循统一的标准,降低开发难度,开发成本,SEO也会更好做,也不会因为滥用代码导致各种BUG、安全问题,最终提高网站易用性。
     
    19.请描述一下cookies,sessionStorage和localStorage的区别?  
      sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
    web storage和cookie的区别
    Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的。Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用。
    除此之外,Web Storage拥有setItem,getItem,removeItem,clear等方法,不像cookie需要前端开发者自己封装setCookie,getCookie。但是Cookie也是不可以或缺的:Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生。
    20.知道css有个content属性吗?有什么作用?有什么应用?
    知道。css的content属性专门应用在 before/after 伪元素上,用来插入生成内容。最常见的应用是利用伪类清除浮动。
    //一种常见利用伪类清除浮动的代码
    .clearfix:after {
    content:"."; //这里利用到了content属性
    display:block;
    height:0;
    visibility:hidden;
    clear:both; }
    .clearfix {
    *zoom:1;
    }
    after伪元素通过 content 在元素的后面生成了内容为一个点的块级素,再利用clear:both清除浮动。
      那么问题继续还有,知道css计数器(序列数字字符自动递增)吗?如何通过css content属性实现css计数器?
    答案:css计数器是通过设置counter-reset 、counter-increment 两个属性 、及 counter()/counters()一个方法配合after / before 伪类实现。 
    21.如何在 HTML5 页面中嵌入音频?
    HTML 5 包含嵌入音频文件的标准方式,支持的格式包括 MP3、Wav 和 Ogg:
     
       
       Your browser does’nt support audio embedding feature. 

    22.如何在 HTML5 页面中嵌入视频?
    和音频一样,HTML5 定义了嵌入视频的标准方法,支持的格式包括:MP4、WebM 和 Ogg:
     
       
       Your browser does’nt support video embedding feature. 
     
    23.HTML5 引入什么新的表单属性?
    Datalist datetime output keygen date month week time number range emailurl
    24.CSS3新增伪类有那些?
    p:first-of-type 选择属于其父元素的首个

    元素的每个

    元素。
    p:last-of-type 选择属于其父元素的最后

    元素的每个

    元素。
    p:only-of-type 选择属于其父元素唯一的

    元素的每个

    元素。
    p:only-child 选择属于其父元素的唯一子元素的每个

    元素。
    p:nth-child(2) 选择属于其父元素的第二个子元素的每个

    元素。
    :enabled、:disabled 控制表单控件的禁用状态。
    :checked,单选框或复选框被选中。
    25.(写)描述一段语义的html代码吧。
    (HTML5中新增加的很多标签(如:

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Web应用框架汇总

    Web应用框架&#xff08;Web application framework&#xff09;是一种开发框架&#xff0c;用来支持动态网站、网络应用程序及网络服务的开发。其类型有基于请求的和基于组件的两种框架&#xff0c;Web应用框架有助于减轻网页开发时共通性活动的工作负荷&#xff0c;例如许多框…...

    2024/3/13 19:10:39
  2. 2017前端性能优化清单

    https://github.com/Findow-team/Blog/issues/11?utm_sourcetuicool&utm_mediumreferral 2017前端性能优化清单 你开始使用渐进启动了么&#xff1f;是不是已经使用过React和Angular中tree-shaking和code-splitting两个工具&#xff1f;有没有用过Brotli、Zofli和HPACK这几…...

    2024/3/13 19:10:38
  3. React Redux

    学习必备要点&#xff1a; 首先弄明白&#xff0c;Redux在使用React开发应用时&#xff0c;起到什么作用——状态集中管理弄清楚Redux是如何实现状态管理的——store、action、reducer三个概念在React中集成Redux&#xff1a;redux react-redux&#xff08;多了一个概念——s…...

    2024/3/13 19:10:39
  4. Vue学习(一)

    目录一、Vue概念1、渐进式JavaScript框架1.1、Vue 扩展插件2、作用&#xff1a;3、作者&#xff1a;二、Vue的特点1、与其它前端 JS 框架的关联三、Vue指南3.1、Vue的浏览器插件3.2、简单示例四、MVVM模式4.1、声明式编程4.2、命令式编程4.3 MVC、MVP和MVVM的理解4.3.1 MVC4.3.…...

    2024/3/13 19:10:41
  5. react路由

    在 web 应用开发中&#xff0c;路由系统是不可或缺的一部分。在浏览器当前的 URL 发生变化时&#xff0c;路由系统会做出一些响应&#xff0c;用来保证用户界面与 URL 的同步。随着单页应用时代的到来&#xff0c;为之服务的前端路由系统也相继出现了。有一些独立的第三方路由系…...

    2024/3/15 14:19:14
  6. Asp.Net MVC一 : 三层架构、MVC

    MVC、MVP、MVVM、Angular.js、Knockout.js、Backbone.js、React.js、Ember.js、Avalon.js、Vue.js 概念摘录认清Android框架 MVC&#xff0c;MVP和MVVM三层架构 将整个业务应用划分为&#xff1a;界面层&#xff08;User Interface layer, UIL&#xff09;、业务逻辑层&#xf…...

    2024/3/22 2:40:54
  7. vue双向绑定、Proxy、defineproperty

    本文原链接&#xff1a;https://www.jianshu.com/p/2df6dcddb0d7 前言 双向绑定其实已经是一个老掉牙的问题了,只要涉及到MVVM框架就不得不谈的知识点,但它毕竟是Vue的三要素之一. Vue三要素 响应式: 例如如何监听数据变化,其中的实现方法就是我们提到的双向绑定模板引擎: 如何…...

    2024/3/15 14:19:13
  8. .NET方面的框架的整理和总结

    .NET方面的框架的整理和总结.NET方面的框架的整理和总结分布式缓存框架&#xff1a;.NET方面的框架的整理和总结 自从学习.NET以来&#xff0c;优雅的编程风格&#xff0c;极度简单的可扩展性&#xff0c;足够强大开发工具&#xff0c;极小的学习曲线&#xff0c;让我对这个平…...

    2024/3/23 20:47:18
  9. 实现双向绑定Proxy比defineproperty优劣如何?

    前言 双向绑定其实已经是一个老掉牙的问题了,只要涉及到MVVM框架就不得不谈的知识点,但它毕竟是Vue的三要素之一. Vue三要素 响应式: 例如如何监听数据变化,其中的实现方法就是我们提到的双向绑定 模板引擎: 如何解析模板 渲染: Vue如何将监听到的数据变化和解析后的HTML进行…...

    2024/3/15 14:19:10
  10. 前端面试宝典超

    一、HTML和CSS 1、你做的页面在哪些流览器测试过&#xff1f;这些浏览器的内核分别是什么? IE: trident内核 Firefox&#xff1a;gecko内核 Safari:webkit内核 Opera:以前是presto内核&#xff0c;Opera现已改用Google Chrome的Blink内核 Chrome:Blink(基于webkit&#xff0c;…...

    2024/3/15 14:19:11
  11. 实现双向绑定Proxy比defineproperty优劣如何

    面试官: 实现双向绑定Proxy比defineproperty优劣如何? 面试官系列(4): 实现双向绑定Proxy比defineproperty优劣如何? 往期 面试官系列(1): 如何实现深克隆面试官系列(2): Event Bus的实现面试官系列(3): 前端路由的实现前言 双向绑定其实已经是一个老掉牙的问题了,只要涉及…...

    2024/3/15 14:19:10
  12. 双向绑定篇

    面试官: 实现双向绑定Proxy比defineproperty优劣如何? 面试官系列(4): 实现双向绑定Proxy比defineproperty优劣如何? 往期 面试官系列(1): 如何实现深克隆面试官系列(2): Event Bus的实现面试官系列(3): 前端路由的实现前言 双向绑定其实已经是一个老掉牙的问题了,只要涉及到…...

    2024/3/15 14:19:10
  13. prerender-SPA程序的SEO优化策略

    随着web2.0的兴起&#xff0c;ajax的时代已经成为了事实&#xff0c;更如今Knockout,backbone, angular,ember前端MDV(model driver view)框架强势而来&#xff0c;Single Page Application已经为大家所熟悉了。如今常见的SPA程序&#xff0c;restfull和前端MDV之类的框架能够实…...

    2024/3/20 5:17:52
  14. Vue基础6天实施笔记

    Vue 基础课程 课程介绍 Vue基础语法 指令、过滤器、按键修饰符、生命周期、自定义指令、computed计算属性、watch监听器 axios、ES6模块化、组件、vue单文件组件、WebStorage SPA单页应用、router路由、Promise VueCLI脚手架、element-ui组件库、eslint代码规范检测等等 …...

    2024/3/15 14:19:07
  15. 2017年技术、平台、工具、语言架构

    技术、平台、工具、语言&框架&#xff0c;年底应该这样把握技术方向&#xff01; 原创 2017-12-01 ThoughtWorks InfoQ 作者&#xff5c;ThoughtWorks编辑&#xff5c;小智ThoughtWorks 已于昨日发布了最新一期的技术雷达&#xff0c;InfoQ 第一时间拿到了先手资料&#x…...

    2024/3/16 21:46:03
  16. 深度强化学习落地方法论(3)——算法选择篇

    目录前言强化学习——探索和利用的平衡游戏DQNDDPGA3C其他算法 前言 虽然每年RL方向的paper满天飞,但真正具有普遍实用价值的突破性工作实在不多,大多数还是在经典框架基础上的改进和扩展。DRL常规武器库里的存货主要还是老三样:DQN,DDPG和A3C,它们是深度学习时代最成熟、…...

    2024/3/15 14:19:06
  17. ng中定义service和filter的方法

    angularjs子定义Service用法&#xff1f; $http的用法&#xff1f; $http是Angularjs内置的服务&#xff0c;用起来可以链式调用&#xff0c;用法如下&#xff1a; myMdoule.controller(LoadDataCtrl,[$scope,$http,function($scope,$http){$http({method : get,url : js/data…...

    2024/3/13 19:10:53
  18. angular7+editor.md

    1.下载editor.md源文件 https://pandao.github.io/editor.md/#download 2.将下载的源文件放在项目某目录下&#xff1a; 例如&#xff1a;src/assets/editor.md/ 3.在angular.json文件中&#xff0c;将所需要引入的css、js文件添加进来 "styles": ["src/ass…...

    2024/3/17 18:03:35
  19. Angular 学习系列 - - $sce 和 $sceDelegate

    $sce $sce 服务是AngularJs提供的一种严格上下文转义服务。 严格的上下文转义服务 严格的上下文转义(SCE)是一种需要在一定的语境中导致AngularJS绑定值被标记为安全使用语境的模式。由用户通过ng-bind-html绑定任意HTML语句就是这方面的一个例子。我们称这些上下文转义为特权或…...

    2024/3/13 19:10:50
  20. Angular - - $sce 和 $sceDelegate

    $sce $sce 服务是AngularJs提供的一种严格上下文转义服务。 严格的上下文转义服务 严格的上下文转义(SCE)是一种需要在一定的语境中导致AngularJS绑定值被标记为安全使用语境的模式。由用户通过ng-bind-html绑定任意HTML语句就是这方面的一个例子。我们称这些上下文转义为特权或…...

    2024/3/18 3:20:13

最新文章

  1. 12.路由安装

    路由安装 安装vscode https://code.visualstudio.com/ 使用vscode打开后台系统项目 在终端运行npm run dev即可运行项目 src/assets中存放静态资源 src/components中存放组件 app.vue是主界面&#xff08;入口页面&#xff09; 注释main.ts中的import ./style.css package.j…...

    2024/3/29 15:42:49
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【物联网开源平台】tingsboard二次开发环境搭建+编译

    文章目录 一&#xff0c;需要准备的环境二&#xff0c;获取tingsboard源码1.git拉取源码2.下载源码压缩包 三.新建仓库存放依赖文件四&#xff0c;编译五&#xff0c;遇到的错误 提示&#xff1a; 1.这篇只要准备两个环境&#xff0c;方法更简单&#xff01; 2.基于tingsboard …...

    2024/3/29 7:24:06
  4. uni-app打包证书android

    Android平台打包发布apk应用&#xff0c;需要使用数字证书&#xff08;.keystore文件&#xff09;进行签名&#xff0c;用于表明开发者身份。 Android证书的生成是自助和免费的&#xff0c;不需要审批或付费。 可以使用JRE环境中的keytool命令生成。 以下是windows平台生成证…...

    2024/3/28 8:04:28
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/3/27 10:21:24
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/3/24 20:11:25
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/3/29 2:45:46
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/3/24 20:11:23
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/3/29 5:19:52
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/3/28 17:01:12
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/3/29 11:11:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/3/29 1:13:26
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/3/29 8:28:16
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/3/29 7:41:19
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/3/24 20:11:18
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/3/29 9:57:23
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/3/29 0:49:46
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/3/24 20:11:15
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/3/27 7:12:50
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/3/24 20:11:13
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/3/26 11:21:23
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/3/28 18:26:34
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/3/28 12:42:28
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/3/28 20:09:10
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57