1、基本数据类型与引用数据类型

对象(object)是组成javascript的基本单元,实际上,javascrip中的一切都是对象。虽javascript不是纯面向对象的语 言,但是可以通过其他技术手段,让它可以跟java、c#一样成为一个面向对象的语言。它的主要特性有:引用、作用域、闭包、上下文,在了解这些特性后, 就可以知道如何创建一个对象,为对象添加属性、行为和添加不同权限的方法(method)。

   如学过一种面向对象语言,知道,数据类型分为两种:值(基本)数据类型和引用数据类型。基于值类型的变量直接包含值。将一个值类型变量赋给另一个值类型变量时,将复制包含的值。
如:
var x=9;
var z=x;
z=z+2;
alert(x);// 9
引用类型,“引用”是一个指向对象的实际位置的指针或者说该引用变量可存储对实际数据的引用。
如:
var obj=new Object();
var obj1=obj;//obj,obj1这两个引用变量是对同一个对象的引用或指向同一个对象
obj1.pro="property";
alert(obj1.pro===obj.pro);// true;
2、函数重载与类型检测
在面向对象的语言中, 函数重载是指函数名相同,但是传入的参数个数或类型不同。在javascript中虽不被直接支持,但可以通过其它方法实现。
函数重载主要是参数个数或类型不同,先看看,参数的个数,javascript的每个函数都有一个仅在这个函数范围内作用的变量称之为参数 (argument),它是一个包含传递给函数的参数的伪数组(pseudo-array),因它并非严格意义上的数组,不能对它push、pop等操 作,但是,它具有length属性。
因javascript是动态语言,所以类型检测是非常重用的。使用typeof关键字。判断类型时分为:基本数据类型及引用数据类型。
值类型判断:
如: if( typeof x== "string"){
...
}
引用类型判断:需要引用所有javascipt对象都带有的一个属性,称之为构造函数(constructor),这个属性引用的是原本用来构造该对象的函数。
如: if( num.constructor == String){
....
}

转载于:https://www.cnblogs.com/cyy321/archive/2010/08/23/1806598.html

面向对象的javascript-引用、作用域、闭包、上下文--(1)相关推荐

  1. JavaScript作用域、上下文、执行期上下文、作用域链、闭包

      作用域.上下文.执行期上下文.作用域链.闭包是JavaScript中关键概念之一,是JavaScript难点之一,在应聘面试时必定会问到的问题,作为前端工程师必须理解和掌握.相信大家已经阅读了很多 ...

  2. JavaScript的内存作用域闭包

    1. 执行上下文与作用域 执行上下文简称 " 上下文 ",变量和函数的上下文决定了它们可以访问哪些数据.以及它们的行为.每个上下文都有一个变量对象 VO(variable obje ...

  3. javascript函数作用域与闭包

    8.8. 函数作用域与闭包        如第四章所述,JavaScript函数的函数体在局部作用域中执行,局部作用域不同于全局作用域.本章将解释这些内容和相关的作用域问题,包括闭包.[*] [*] ...

  4. JavaScript中的作用域,闭包和上下文

    深入理解JavaScript中的作用域和上下文 很多语言当中都会有作用域的概念,它会给我们带来便利,偶尔也会有烦恼,只有清楚地理解和掌握了它,才能更好地为我所用,今天就带来这么一篇文章供大家参考. 介 ...

  5. JavaScript的作用域与闭包

    JavaScript的作用域以函数为界,不同的函数拥有相对独立的作用域.函数内部可以声明和访问全局变量,也可以声明局部变量(使用var关键字,函数的参数也是局部变量),但函数外部无法访问内部的局部变量 ...

  6. JavaScript从作用域到闭包

    目录 作用域 全局作用域和局部作用域 块作用域与函数作用域 作用域中的声明提前 作用域链 函数声明与赋值 声明式函数.赋值式函数与匿名函数 代码块 自执行函数 闭包  作用域(scope) 全局作用域 ...

  7. JavaScript 中的闭包和作用域链(读书笔记)

    要想理解闭包,应当先理解JavaScript的作用域和作用域链. JavaScript有一个特性被称之为"声明提前(hoisting)",即JavaScript函数里声明的所有变量 ...

  8. 你不知道的JavaScript上卷-作用域和闭包

    1. LHS引用与RHS引用的区别: RHS:取到源值-得到某某的值 LHS:谁是赋值操作的源头-给谁赋值 function foo(a) {var b = a;return a + b; } var ...

  9. javaScript的作用域、闭包

    前言 JavaScript 中的闭包是相当重要的概念,并且与作用域相关知识的指向密切相关. 那么, JavaScript 中的作用域是什么? 闭包会在哪些场景中使用? 作用域 JavaScript 的 ...

  10. JavaScript笔记 | 作用域和闭包 |《你不知道的JavaScript(上卷)》第一部分

    JavaScript | 作用域和闭包 | 读书笔记 读书笔记(自用) 来自<你不知道的JavaScript(上卷)>第一部分 作用域和闭包 1 作用域是什么 1.1编译的3个步骤 (1) ...

最新文章

  1. C++11中std::async的使用
  2. pycharm 配置码云(gitee)教程,如何将已有项目push到码云?
  3. PL/SQL在win7/win8 x64位下使用客户端连接oracle
  4. 关于java的项目_关于java项目与javaweb项目
  5. 100内奇数之和流程图_JavaScript基础教程(六)流程控制之循环语句
  6. 这些硬核公众号你知道几个?
  7. 跨线程操作无效:从创建该线程的线程以外的线程访问控件
  8. HTML知识积累及实践(四) - 表单元素
  9. FTP服务器:Rumpus for Mac
  10. 实时共享白板_使用Froala文本编辑器构建实时协作白板-第1部分。
  11. USB数据采集卡,通过树莓派微型电脑,实现高速以太网数据采集
  12. 《Software Testing》英文原著阅读 单词
  13. sklearn中KMeans重要参数n_clusters
  14. Shadowify 高级感投影photoshop/ps插件
  15. python笔记2—day2
  16. 量化交易奇才大卫·哈丁的投资之路
  17. 快手小程序常用事件绑定使用场景总结
  18. 国际空间站ISS SSTV 2018 OCT
  19. supervisor 常见错误及其解决方案
  20. 【科普】机密资产Confidential Asset白皮书(1)

热门文章

  1. java没错泄露_Java内存泄露问题
  2. java sbyte_JAVA与c#中byte取值范围的差异
  3. 四级口语计算机对话,四级英语口语对话常用的句子
  4. 陕西电大学位英语计算机考试,2017年电大学位英语复习【呕心沥血整理、电大考试必过】.doc...
  5. PSIM软件学习---03 电路的创建与仿真
  6. Java项目——博客系统(毕业设计)
  7. SpringMVC中@Controller和@RequestMapping
  8. 带宽和下载速率的关系
  9. Contoso 大学 - 3 - 排序、过滤及分页
  10. ffmpeg文档3:播放声音