javascript(一)

来源:互联网 发布:破壁机 原汁机 知乎 编辑:程序博客网 时间:2024/06/06 05:01

一、JavaScript简介

 JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成:

  1.    ECMAscript,由ECMA-262定义,提供核心语言功能;
  2. 文档对象模型(DOM),提供访问和操作网页内容的方法和接口;
  3. 浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
JavaScript的这三个组成部分,在当前五个主要浏览器(IE/Firefox/Chorme/Safari/Opera)中都得到了不同程度的支持。其中,当所有浏览器对ECMAScript第三版的支持大体上都还不错,而对ECMAScript5的支持程度越来越高,但对DOM的支持则彼此相差比较多。


二、在HTML中使用JavaScript

把JavaScript插入到HTML页面中要使用<script>元素。

  1. 所有的<script>元素都会按照它们在页面中出现的先后顺序依次被解析。在不使用defer和async属性的情况下,只有在解析完前面<script>元素中的代码之后,才会开始解析<script>元素中的代码。
  2. 一般把<script>元素放在页面最后,即主要内容后面,</body>标签前面
  3. 使用defer属性可以让脚本在文档完全呈现之后再执行。延迟脚本总是按照指定他们的顺序执行。
  4. 使用async属性可以表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本按照他们在页面中出现的顺序执行。

<noscript>元素:用以在不支持JavaScript的浏览器(或浏览器支持脚本,但脚本被禁用)中显示替代的内容。

<noscript>Sorry, your browser does not support JavaScript!         Hello World!</noscript>

三、基本概念

  1. 用var操作符定义的变量将成为定义该变量的作用域中的局部变量,省略var操作符则创建为一个全局变量。
  2. NaN,即非数值是一个特殊的数值,用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。例如,任何数值除以0会返回NaN,NaN与任何值都不相等,包括NaN本身。
  3. for-in语句,是一种精准的迭代语句,可以用来枚举对象的属性。
  4. 通过访问arguments对象的length属性可以获知有多少个参数传递给了函数。
  5. 没有重载。如果在ECMAScript中定义了两个名字相同的函数,则该名字只属于后定义的函数。
四、变量、作用域和内存问题

  1. 对于引用类型的值,可以为其添加属性和方法,也可以删除改变属性和方法;但不能给基本类型的值添加属性。
  2. 从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本,两个值完全独立,操作互不影响。
  3. 从一个变量向另一个变量复制引用类型的值,复制的是指针,因此两个变量最终都指向同一个对象,操作互相影响。
  4. 确定一个值是那种基本类型可用typeof操作符,而确定一个值是哪种引用类型的可以用instanceof操作符。
  5. 所有变量都存在于一个执行环境当中,这个环境决定了变量的生命周期,以及哪一部分代码可以访问其中的变量。
  • 执行环境有全局执行环境和函数执行环境;
  • 每次进入一个新执行环境,都会创建一个用于搜素变量和函数的作用域链;
  • 函数的局部环境不仅有权访问函数作用域中的变量,而且有权访问其包含(父)环境,乃至全局环境;
  • 全局环境只能访问在全局环境中定义的变量和函数,而不能直接访问局部环境中的任何数据;
  • 变量的执行环境有助于确定应该何时释放内存;
       6.JavaScript是一门具有自动垃圾收集机制的编程语言,开发人员不必关心内存分配和回收问题

  • 离开作用域的值将被自动标记为可以回收,因此将在垃圾收集期间被删除
  • “标记清除”是目前主流的垃圾收集算法,这种算法的思想是给当前不使用的值加上标记,然后再回收其内存
  • 另一种垃圾收集算法是“引用计数”,这种算法的思想是跟踪记录所有值被引用的次数。IE中仍在使用,当代码中存在循环引用现象时,就会导致问题。
  • 解除变量的引用不仅有助于消除循环引用现象,而且对垃圾收集也有好处。为了确保有效地回收内存,应该及时解除不在使用的全局对象、全局对象属性以及循环引用变量的引用。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小米手机wifi下载速度慢怎么办 苹果8plus上网慢怎么办 小米5c死机了怎么办 苹果x自拍反方向怎么办 硅胶手机壳出油怎么办 指环扣松了怎么办图解 塑料放久了发粘怎么办 橡胶时间久了粘怎么办 胶的手机套变黄怎么办 手机壳硅胶变黄怎么办 硅胶手机壳大了怎么办 硅胶手机壳变大了怎么办 硅胶手机壳有点大怎么办 硅胶手机壳粘手怎么办 透明手机壳变黄怎么办? 耳机胶套经常掉怎么办 硅胶手机壳粘毛怎么办 耳机海绵套坏了怎么办 沙发垫海绵坏了怎么办 汽车坐海绵坏了怎么办 苹果手机边框有缝隙怎么办 孕期牙套子掉了怎么办 平果充电线不匹配怎么办 苹果六外壳掉漆怎么办 苹果平板充电没反应怎么办 苹果平板黑屏没反应怎么办 苹果平板卡机了怎么办 苹果7plus掉漆怎么办 皮的手机壳脏了怎么办 小米5x边边裂开怎么办 荣耀8的后盖摔了怎么办 hp打印机卡了纸怎么办 华为荣耀9进水了怎么办 小米5x屏幕脱胶怎么办 小米5x后盖松动怎么办 苹果手机没电了怎么办 荣耀9的后盖裂了怎么办 手机一直在开机画面怎么办华为 华为手机一直显示开机画面怎么办 华为p7手机开不了机怎么办 华为荣耀8弯了怎么办