JS第一篇

2017-09-16  本文已影响0人  起风了_点点

1. Javascript中,有一个函数,执行对象查找时,永远不会去查找原型,这个函数是?

问题解析:执行对象查找,永远不会去查找原型,意思也就是只会在对象本身查找。所以可以得出这个函数就是 hasOwnProperty():用于检测一个对象自身(不包括原型链)是否具有指定名称的属性,如果有,返回true,否则返回false。
语法:object.hasOwnProperty( propertyName )

2. JSON 的了解?

  • JSON字符串:"{ "firstName":"John" , "lastName":"Doe" }"
  • JSON对象:{ "firstName":"John" , "lastName":"Doe" }

可以看出区别就是是否加引号(或者双引号)

对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用

3. js延迟加载的方式有哪些?

  • 定义:脚本在页面解析完后执行。
    <script type="text/javascript" defer="defer"></script>
  • 如果脚本不会改变文档的内容,可将defer属性加入到 <script> 标签中,以便加快处理文档的速度。
  • 定义:脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行)
  • <script type="text/javascript" src="demo_async.js" async="async"></script>
  • defer的区别:async只适用于外部脚本(即只有在使用src属性时)。
  • 缺点:不能控制加载的顺序
//这些代码应被放置在</body>标签前(接近HTML文件底部)
<script type="text/javascript">
  function downloadJSAtOnload() {
    var element = document.createElement("script");
    element.src = "defer.js";
    document.body.appendChild(element);
  }
  if (window.addEventListener)
    window.addEventListener("load", downloadJSAtOnload, false);
  else if (window.attachEvent)
    window.attachEvent("onload", downloadJSAtOnload);
  else window.onload = downloadJSAtOnload;
</script>

这段代码意思是等到整个文档加载完后,再加载外部文件“defer.js”。
使用此段代码的步骤:
1).复制上面代码
2).粘贴代码到HTML的标签前 (靠近HTML文件底部)
3).修改“defer.js”为你的外部JS文件名
4).确保你文件路径是正确的。例如:如果你仅输入“defer.js”,那么“defer.js”文件一定与HTML文件在同一文件夹下。

  • 注意:这段代码直到文档加载完才会加载指定的外部js文件。因此,不应该把那些页面正常加载需要依赖的javascript代码放在这里。而应该将JavaScript代码分成两组。一组是因页面需要而立即加载的javascript代码,另外一组是在页面加载后进行操作的javascript代码(例如添加click事件或其他东西)。这些需等到页面加载后再执行的JavaScript代码,应放在一个外部文件,然后再引进来。
上一篇下一篇

猜你喜欢

热点阅读