JS第一篇

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

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

2. JSON 的了解?

  • (javascript object notation)全称是javascript对象表示法,是一种数据交换的文本格式,是一种数据交换的文本格式,
  • 在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON字符串表示法来表示
  • JSON.stringify()方法:用于将一个值转为字符串;JSON.parse()方法:JSON.parse
  • 区分JSON字符串和JSON对象:
  • JSON字符串:"{ "firstName":"John" , "lastName":"Doe" }"
  • JSON对象:{ "firstName":"John" , "lastName":"Doe" }

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

  • 为什么使用 JSON?

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

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

  • 1) script标签中加入如defer属性
  • 定义:脚本在页面解析完后执行。
    <script type="text/javascript" defer="defer"></script>
  • 如果脚本不会改变文档的内容,可将defer属性加入到 <script> 标签中,以便加快处理文档的速度。
  • 2) script标签中加入如async属性
  • 定义:脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行)
  • <script type="text/javascript" src="demo_async.js" async="async"></script>
  • defer的区别:async只适用于外部脚本(即只有在使用src属性时)。
  • 缺点:不能控制加载的顺序
  • 3)来自Google帮助页面的推荐方案(动态创建DOM方式):
//这些代码应被放置在</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代码,应放在一个外部文件,然后再引进来。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,530评论 25 709
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 115,005评论 24 450
  • 1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined、Nul...
    极乐君阅读 5,655评论 0 106
  • 有人说过,老,真的不是一下子就能感觉到的。可是,冷,真的是一下子就能感觉到的。 这里的冬天特别奇怪,没有秋天这一过...
    陆六刘阅读 123评论 0 0
  • 为什么你的故事总发生在夜晚 因为我没发现过有白天 每次到伦敦的时候,总有种异常的兴奋,可这种讲不出来的兴奋,总会随...
    忧愁LEE阅读 217评论 0 0