关于js一些

286 阅读3分钟

本文只写一些小点

js最初仅仅是为了做验证

它的主要目的是处理以前由服务器端语言(如 Perl)负责的一些输入验证操作。在 JavaScript 问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,是否输入了无效的值

JavaScript 和 ECMAScript 其实是不同的

虽然 JavaScript 和 ECMAScript 通常都被人们用来表达 相同的含义,但 JavaScript 的含义却比 ECMA-262 中规定的 要多得多。没错,一个完整的 JavaScript 实现应该由下列三 个不同的部分组成

  • 核心(ECMAScript)
  • 文档对象模型(DOM)
  • 浏览器对象模型(BOM)

DOM 级别

DOM1 级(DOM Level 1)于 1998 年 10 月成为 W3C 的推荐标准。DOM1 级由两个模块组成:DOM 核心(DOM Core)和 DOM HTML。其中,DOM 核心规定的是如何映射基于 XML 的文档结构,以便 简化对文档中任意部分的访问和操作。DOM HTML 模块则在 DOM 核心的基础上加以扩展,添加了针 对 HTML 的对象和方法。

dom核心是算法 DOM HTML是方法

<script>元素属性

  • async:可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。
  • charset:可选。表示通过src属性指定的代码的字符集。由于大多数浏览器会忽略它的值, 因此这个属性很少有人用。
  • defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有 效。IE7 及更早版本对嵌入脚本也支持这个属性。
  • src:可选。表示包含要执行代码的外部文件。
  • type:可选。

当script有外链了,还在内部写代码内部写的代码就会无效无论如何包含代码,只要不存在 defer 和 async 属性,浏览器都会按照script元素在页面中 出现的先后顺序对它们依次进行解析

javascript的解析执行顺序

浮点型判断

浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数。例如,0.1 加 0.2 的结果不是 0.3,而是 0.30000000000000004。这个小小的舍入误差会导致无法测试特定的浮点数值。 例如:

if (a + b == 0.3){ 
// 不要做这样的测试! alert("You got 0.3.");
}

在这个例子中,我们测试的是两个数的和是不是等于 0.3。如果这两个数是 0.05 和 0.25,或者是 0.15 和 0.15 都不会有问题。而如前所述,如果这两个数是 0.1 和 0.2,那么测试将无法通过。因此,永远不 要测试某个特定的浮点数值。

基本数据类型和引用数据类型

函数的参数是按值传的

js检测类型的几种方式

isPrototypeOf、instanceof、hasOwnProperty,getPrototypeOf函数介绍

getPrototypeOf

hasOwnProperty

getOwnPropertyNames

介绍链接

判断两个对象是否相等(待优化,探索方案)

自己总结

关于内存,关于js垃圾回收机制

内存机制

判断对象是什么类型

创建对象

自己总结

bind call

uri编码

字符串和数组的常用方法

跳转

==和===

跳转