20201114记录

简介

时间 20201114

22/30

img

cookie的有效时间默认为-1,如果不进行设置的话,就会默认在浏览器会话关闭时结束。

可以通过setMaxAge()方法设置cookie的生命期。

当setMaxAge(0)表示立刻删除该浏览器上指定的cookie

img

JavaScript实现继承共6种方式:

原型链继承、借用构造函数继承、组合继承、原型式继承、寄生式继承、寄生组合式继承。

构造函数继承是每次继承都会把父类的所有属性方法全部拷贝一份,而对于公用的方法重复拷贝会浪费内存

原型链继承所有对象都公用一份原型属性和方法,对一个类的修改回影响的其他类

组合继承是结合两种继承方式,用构造函数方式继承属性,原型链方式继承方法

img

1、创建比一般的 DOM 元素慢了 1-2 个数量级

iframe 的创建比其它包括 scripts 和 css 的 DOM 元素的创建慢了 1-2 个数量级,使用 iframe 的页面一般不会包含太多 iframe,所以创建 DOM 节点所花费的时间不会占很大的比重。但带来一些其它的问题:onload 事件以及连接池(connection pool)

2、阻塞页面加载

及时触发 window 的 onload 事件是非常重要的。onload 事件触发使浏览器的 “忙” 指示器停止,告诉用户当前网页已经加载完毕。当 onload 事件加载延迟后,它给用户的感觉就是这个网页非常慢。

window 的 onload 事件需要在所有 iframe 加载完毕后(包含里面的元素)才会触发。在 Safari 和 Chrome 里,通过 JavaScript 动态设置 iframe 的 SRC 可以避免这种阻塞情况

3、唯一的连接池

浏览器只能开少量的连接到 web 服务器。比较老的浏览器,包含 Internet Explorer 6 & 7 和 Firefox 2,只能对一个域名(hostname)同时打开两个连接。这个数量的限制在新版本的浏览器中有所提高。Safari 3+ 和 Opera 9+ 可同时对一个域名打开 4 个连接,Chrome 1+, IE 8 以及 Firefox 3 可以同时打开 6 个

绝大部分浏览器,主页面和其中的 iframe 是共享这些连接的。这意味着 iframe 在加载资源时可能用光了所有的可用连接,从而阻塞了主页面资源的加载。如果 iframe 中的内容比主页面的内容更重要,这当然是很好的。但通常情况下,iframe 里的内容是没有主页面的内容重要的。这时 iframe 中用光了可用的连接就是不值得的了。一种解决办法是,在主页面上重要的元素加载完毕后,再动态设置 iframe 的 SRC。

4、不利于 SEO

搜索引擎的检索程序无法解读 iframe。另外,iframe 本身不是动态语言,样式和脚本都需要额外导入。综上,iframe 应谨慎使用。

iframe本身就不是动态语言,样式和脚本都需要额外导入。

img

此题考查的是 JS 的类型转换:

  • if(x) 这里期望 x 是一个布尔类型的原始值,而 x 是一个对象,任何对象转为布尔值,都为得到 true切记!在 JS 中,只有 0,-0,NaN,"",null,undefined 这六个值转布尔值时,结果为 false)。
  • 题目的第二部分,一定要注意 y = Boolean(0),**而不是 y = new Boolean(0)。**这两个有很大区别,用 new 调用构造函数会新建一个布尔对象,此处没有加 new,进行的是显示类型转换,正如上述第一条所说,0 转换布尔,结果为 false,所以此时 y 的值就是 false。如果加了 new,那么 y 就是一个 Boolean 类型的对象,执行 if(y) 时,对象转布尔,始终是 true,所以结果会与不加 new 的时候相反。

img

javascript中实现跨域的方式总结

  • 第一种方式:jsonp请求;jsonp的原理是利用

img

  1. 在旧浏览器(ie7-)下用 join 会更高效。
  2. 在现代浏览器,尽量用"+",更高效。
  3. 当然,在少数现代浏览器里 “+” 不一定会比 join 快(如,safari 5.0.5,opera 11.10)
  4. 本身是字符串数组的,直接 join 会更好。
  5. 在"+“与concat之间,当然是优选使用”+",方便又直观又高效。

img

形参、闭包、全局不用说了、作用域链。

img

选AD。

B. Window History Back

history.back() 方法加载历史列表中前一个 URL。 这等同于在浏览器中点击后退按钮。

C. 跳转到 history 中指定的一个点

你可以用 go() 方法载入到会话历史中的某一特定页面, 通过与当前页面相对位置来标志 (当前页面的相对位置标志为0).

向后移动一个页面 (等同于调用 back()):

window.history.go(-1);

向前移动一个页面, 等同于调用了 forward():

window.history.go(1);

AD.
1.

<SCRIPT language="JavaScript">
javascript:window.history.forward(1);
</SCRIPT>

这 种方法是用于防止由下一个页面返回的。
简单的说,页面A(A中有这段代码)转向页面B,
这时,B向A转向是被禁止。
2.
有时候我们再做网页时不希望某个网页通过浏览器的前进后退按钮来后退或前进,可以通过简单的办法达到该效果

这 种方法是用于防止由下一个页面返回的。
简单的说,页面A(A中有这段代码)转向页面B,
这时,B向A转向是被禁止。
有时候我们再做网页时不希望某个网页通过浏览器的前进后退按钮来后退或前进,可以通过简单的办法达到该效果

冒泡事件很多,个人觉得记住常见的不支持冒泡事件就可以了

有:①focus

​ ②blur

​ ③mouseenter

​ ④mouseleave

​ ⑤load

​ ⑥unload

图片转存中…(img-ocIPpT0I-1605321350712)]

冒泡事件很多,个人觉得记住常见的不支持冒泡事件就可以了

有:①focus

​ ②blur

​ ③mouseenter

​ ④mouseleave

​ ⑤load

​ ⑥unload

​ ⑦resize

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值