好程序员-千锋教育旗下高端IT职业教育品牌

400-811-9990
我的账户
好程序员

专注高端IT职业培训

亲爱的猿猿,欢迎!

已有账号,请

如尚未注册?

  • 客服QQ
  • 官方微信

    好程序员

    专注高端IT职业培训

[HTML5] 好程序员web前端教程分享JavaScript面试题

[复制链接]
60 0
叶子老师 发表于 7 天前 | 只看该作者 |阅读模式 打印 上一主题 下一主题
  好程序员web前端教程分享JavaScript面试题
  1、JavaScript this指针、闭包、作用域
  this:指向调用上下文
  闭包:内层作用域可以访问外层作用域的变量
  作用域:定义一个函数就开辟了一个局部作用域,整个js执行环境有一个全局作用域
  2、JavaScript的同源策略
  一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合
  http,ftp:协议
  主机名;localhost
  端口名:80:http协议的默认端口
  https:默认端口是8083
  同源策略带来的麻烦:ajax在不同域名下的请求无法实现,
  如果说想要请求其他来源的js文件,或者json数据,那么可以通过jsonp来解决
  3、看下列代码,输出什么?解释原因
  var undefined;//此时undefined这个变量的值是undefined
  undefined == null; // true
  1 == true; // true
  此时会把布尔类型的值转换为数字类型 true=1 false=0
  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。
  4、请你谈谈Cookie的弊端
  1.`Cookie`数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。
  2.安全性问题。如果cookie被人拦截了,那人就可以取得所有的session信息。即使加密也与事无补,因为拦截者并不需要知道cookie的意义,他只 要原样转发cookie就可以达到目的了。
  3.有些状态不可能保存在客户端。例如,为了防止重复提交表单,我们需要在服务器端保存一个计数器。如果我们把这个计数器保存在客户端,那么 它起不到任何作用。
  5、哪些操作会造成内存泄漏?
  内存泄漏指任何对象在您不再拥有或需要它之后仍然存在。
  垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为0(没有其他对象引用过该对象),或对该对象的 惟一引用是循环的,那么该对象的内存即可回收。
  1. setTimeout 的第一个参数使用字符串而非函数的话,会引发内存泄漏。
  2. 闭包
  3. 控制台日志
  4. 循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)
  6、输出多少?
  var a = 6;
  setTimeout(function () {
  var a = 666;//由于变量a是一个局部变量
  alert(a); // 输出666,
  }, 1000);
  a = 66;
  因为var a = 666;定义了局部变量a,并且赋值为666,根据变量作用域链,
  全局变量处在作用域末端,优先访问了局部变量,从而覆盖了全局变量。
  var a = 6;
  setTimeout(function () {
  //变量声明提前
  alert(a); // 输出undefined
  var a = 666;
  }, 1000);
  a = 66;
  因为var a = 666;定义了局部变量a,同样覆盖了全局变量,但是在alert(a);之前
  a并未赋值,所以输出undefined。
好程序员web前端教程http://ppsiusa.com/html5_class.shtml

精彩内容,一键分享给更多人!
收藏
收藏0
转播
转播
分享
淘帖0
支持
支持0
反对
反对0
回复

使用道具 举报

您需要登录后才可以回帖

本版积分规则

关注我们
千锋好程序员

北京校区(总部):北京市海淀区宝盛北里西区28号中关村智诚科创大厦

开心蛋蛋网深圳西部硅谷校区:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619

开心蛋蛋网杭州龙驰智慧谷校区:浙江省杭州市下沙经济技术开发区元成路199号龙驰智慧谷B座7层

郑州校区:郑州市二七区航海中路60号海为科技园C区10层、12层

Copyright 2007-2019 北京千锋互联科技有限公司 .All Right

开心蛋蛋网京ICP备12003911号-5 京公安网11010802011455号

请您保持通讯畅通1对1咨询马上开启