美文网首页JS
JavaScript基础整理(三)

JavaScript基础整理(三)

作者: 肉桂猿 | 来源:发表于2020-04-03 17:05 被阅读0次
  • eval
    它的功能是把对应的字符串解析成JS代码并运行;应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。

  • window对象 VS document对象
    window对象代表浏览器中打开的一个窗口。document对象代表整个html文档。实际上,document对象是window对象的一个属性。

  • use strict
    除了正常模式运行外,ECMAscript添加了第二种运行模式:“严格模式”。
  1. 消除js不合理,不严谨地方,减少怪异行为
  2. 消除代码运行的不安全之处
  3. 提高编译器的效率,增加运行速度
  4. 为未来的js新版本做铺垫

  • 如何判断一个对象是否属于某个类
    使用instanceofif(a instanceof Person){alert('yes');}

  • 对象的 prototype(原型)
    原型就是对象的蓝图。如果它存在当前对象中,则将其用作属性和方法的回退。它是在对象之间共享属性和功能的方法,这也是JavaScript实现继承的核心。

  • 如何在执行对象查找时,不去查找原型
    Object.hasOwnProperty(proName):是用来判断一个对象是否有你给出名称的属性。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。

  • JSON(JavaScript Object Notation)
    JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”}
    JSON是JS的一个严格的子集,一种轻量级的数据交换格式,类似于xml。数据格式简单,易于读写,占用带宽小。
    JSON.parse(str) ---- 解析JSON字符串 把JSON字符串变成JavaScript值或对象
    JSON.stringify(obj) --- 将一个JavaScript值(对象或者数组)转换为一个 JSON字符串
    eval('('+json+')')--- 用eval方法注意加括号 而且这种方式更容易被攻击

  • JS延迟加载
    JS的延迟加载有助与提高页面的加载速度。
  1. defer和async
    defer:延迟脚本。立即下载,但延迟执行(延迟到整个页面都解析完毕后再运行),按照脚本出现的先后顺序执行。
    async:异步脚本。下载完立即执行,但不保证按照脚本出现的先后顺序执行。
  2. 动态创建DOM方式(用得最多)
  3. 按需异步载入JS

  • 垃圾回收机制
  1. 标记清除:
    这个算法把“对象是否不再需要”简化定义为“对象是否可以获得”。
    这个算法假定设置一个叫做根(root)的对象(在Javascript里,根是全局对象)。定期的,垃圾回收器将从根开始,找所有从根开始引用的对象,然后找这些对象引用的对象。从根开始,垃圾回收器将找到所有可以获得的对象和所有不能获得的对象。

  2. 引用计数:
    这是最简单的垃圾收集算法。此算法把“对象是否不再需要”简化定义为“对象有没有其他对象引用到它”。如果没有引用指向该对象(零引用),对象将被垃圾回收机制回收。
    该算法有个限制:无法处理循环引用。两个对象被创建,并互相引用,形成了一个循环。它们被调用之后不会离开函数作用域,所以它们已经没有用了,可以被回收了。然而,引用计数算法考虑到它们互相都有至少一次引用,所以它们不会被回收。


  • 删除cookie
// 将cookie的失效时间设置为过去的时间(expires)
document.cookie = ‘user=’+ encodeURIComponent(‘name’) + ';
expires=’+ new Date(0);

相关文章

  • JavaScript基础整理(三)

    eval它的功能是把对应的字符串解析成JS代码并运行;应该避免使用eval,不安全,非常耗性能(2次,一次解析成j...

  • Javascript 基础干货大全

    汇总整理大前端 Javascript 基础干货大全 END

  • JavaScript基础知识小记

    前言 最近发现自己许多JavaScript基础知识掌握不牢固。趁空闲时间,整理一下JavaScript的基础知识。...

  • JavaScript基础整理(二)

    Set + 扩展运算符... : 过滤原数组重复值。数组中数值类型为 undefined, null, boole...

  • JavaScript基础整理(一)

    数据类型null 和 undefined== 和 ===JS 比较对象和基本类型!! 运算符JavaScript ...

  • JavaScript (14)-Dom

    JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语...

  • 前端基础整理 | Javascript基础 (一)

    个人向,对JS知识进行了查漏补缺,主要来源于《JS高级程序设计》和网上博客,本文内容主要包括以下: 在HTML中引...

  • 第二章 在HTML中使用JavaScript

    前言 最近开始重拾JavaScript基础,会将《JavaScript高级程序设计》这本书的知识点做一个整理,以方...

  • 2021-11-29

    前端工程师要学的东西太多了,最近整理了一下。 一、JavaScript基础 变量和类型 JavaScript规定了...

  • 前端工程师的自检

    前端工程师要学的东西太多了,最近整理了一下。 一、JavaScript基础 变量和类型 JavaScript规定了...

网友评论

    本文标题:JavaScript基础整理(三)

    本文链接:https://www.haomeiwen.com/subject/xczwdhtx.html