1,new操作符干了什么
(1)先创建了一个新的空对象
(2)然后让这个空对象的proto指向函数的原型prototype
(3)将对象作为函数的this传进去,如果return 出来东西是对象的话就直接返回 return 的内容,没有的话就返回创建的这个对象
2,null和undefined的区别?
在javascript中,null和undefined都用来表示一个空的值,
null
null类型,代表“空值”,代表一个空对象指针,使用typeof运算得到 “object”,所以你可以认为它是一个特殊的对象值。
使用场景:
作为函数的参数,表示该函数的参数不是对象;
作为对象原型链的终点。
undefined
undefined类型,代表“未定义”,代表一个变量已经声明但是还未赋值,就是此处应该有一个值,但是还没有定义。
使用场景:
变量被声明了,但没有赋值时,就等于undefined。
调用函数时,应该提供的参数没有提供,该参数等于undefined。
对象没有赋值的属性,该属性的值为undefined。
函数没有返回值时,默认返回undefined。
3,eval是做什么的?
把字符串参数解析成JS代码并运行,并返回执行的结果;
需要注意的是:我们应该避免使用eval,它并不安全,而且非常耗性能(需要先将字符串转换为javascript代码,然后再执行)。
4,什么是浏览器的同源策略?
5,iframe的优缺点
iframe的优点:
① iframe能够原封不动地把嵌入的网页展现出来。
② 如果有多个网页调用iframe,只需要修改iframe的内容,就可以实现对调用iframe的每一个页面内容的更改,方便快捷。
③ 网页如果为了统一风格,头部和版本都是一样的,就可以写成一个页面,用iframe来嵌套,可以增加代码的可重用性。
④ 如果遇到加载缓慢的第三方内容,如图标和广告等,可以用iframe来解决。
iframe的缺点:
① 会产生很多页面,不容易管理。
② 在几个框架中都出现上下、左右滚动条时,这些滚动条除了会挤占已经非常有限的页面空间外,还会分散访问者的注意力。
③ 使用框架结构时,必须保证正确设置所有的导航链接,否则会给访问者带来很大的麻烦。比如被链接的页面出现在导航框架内,这种情况下会导致链接死循环。
④ 很多的移动设备(PDA手机)无法完全显示框架,设备兼容性差。
⑤ iframe框架页面会增加服务器的http请求,对于大型网站是不可取的。
现在基本上都是用Ajax来代替iframe,iframe已渐渐退出了前端开发。
网友评论