javascript中的函数、对象

1. 在javascript中,函数是被当成一种数据类型,它可以被存储在一个变量、数组、对象中,可以被当作参数传递到另一个函数中。

函数就像是字符串和数字这样的的数据类型,它可以是其它对象的一个属性

2. 函数定义的三种方式:

function square(x) {   return x*x;   }    //function 语句

var square = function(x) { return x*x;}  //函数直接量  function literal

var square = new Function("x", "return x*x;");  //  构造函数 不常用

3.javascript中的对象可以包含任何类型的属性,如数组、函数、其它对象等;

eg:       document.myform.button    //   the button property of an object that is itself stored in the myformproperty of an object named document

当一个函数为一个对象的属性时,它被叫做方法,属性名即为其方法名;

javascript中可以将对象当成是一种数组来操作(关联数组,associative arrays),这样就可以像数组访问其元素一样访问对象的属性了,如:

object.["propertyName"]

4.创建对象的几种方式

   //常规方式

 var o = new Object( );
 var now = new Date( );

创建完一个对象后,就可以使用或者是定义其属性了

var point = new Object( );
point.x = 2.3;   // 此处是定义其属性了是先把对象创建出来了再去定义它的属性

// 与java里面创建对象的方式很不一样,java里是先定义一个类,再根据那个类有什么构造函数创建一个对象
point.y = -1.2;

//对象直接量

var point = { x:2.3, y:-1.2 };   // 像这种方式创建对象并定义属性

// 嵌套

var rectangle = { upperLeft: { x: 2, y: 2 },
                  lowerRight: { x: 4, y: 4}
                };

var square = { "upperLeft": { x:point.x, y:point.y },
               'lowerRight': { x:(point.x + side), y:(point.y+side) }};

5.基本数据类型和引用类型的区别

基本类型:Numbers, boolean values, and the null and undefined   在内存中有固定的大小

引用类型:Objects, arrays, and functions   在内存中没有固定的大小

基本类型的变量指向的一个实际的数值,引用类型的变量指向的是一个引用一个地址(这点与java里的是一样的)

string类型比较特殊,其大小不确定,显然是不能以固定的大小存储,它并不是像引用类型那样也不像基本数据类型一样,它是不变类型(immutable)

到底什么是不变类型,还得深入学习。

strings behave like a primitive type in many ways.

In the end, it doesn't matter much whether you think of strings as an immutable reference type that behaves like a primitive type or as a primitive type implemented with the internal efficiency of a reference type.

6.变量和属性

变量和属性在js中其实质是一样的

The Global Object:在客户端的javascript,Window 对象是所有运行在浏览器里的js代码的全局对象。可以用关键定this引用此对象,也可以用window这个属性引用。Window对象定义了一些核心的全局属性。

Local Variables: The Call Object  局部变量同样也是一个对象的属性,只不过其使用的范围比全局变量小,只能在一个方法里使用

js解释器在开始运行一个函数时都会为一个函数创建一个新的执行上下文,并不是运行在使用全局对象运行的那个上下文中。每一个js函数都在自己的上下文中执行,都有自己的局部变量。

javascript学习笔记------概念相关的更多相关文章

  1. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  2. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  3. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  4. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  5. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  6. Java程序猿JavaScript学习笔记(14——扩大jQuery UI)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  7. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

  8. JavaScript学习笔记之数组(二)

    JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...

  9. JavaScript学习笔记[0]

    JavaScript学习笔记[0] 使用的是廖雪峰JavaScript教程. 数据类型 Number 表示数字,不区分浮点整形. === 比较时不转化数据类型. == 反之. NaN与任何值都不想等, ...

随机推荐

  1. 洛谷P3457 [POI2007]POW-The Flood [并查集,模拟]

    题目传送门 pow 题意翻译 Description 你手头有一张该市的地图.这张地图是边长为 m∗n 的矩形,被划分为m∗n个1∗1的小正方形.对于每个小正方形,地图上已经标注了它的海拔高度以及它是 ...

  2. promise总结

    new Promise( // 执行器 function (resolve, reject) { //一段耗时很长的异步操作 resolve(); //数据处理完成 reject(); //数据处理出 ...

  3. JavaWeb 之 AJAX

    Ajax ajax:AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新 AJAX:Asynchronous JavaScript and XML,异步 javasc ...

  4. IDC、ICP、ISP区别

    ICP( Internet Content Provider):网络内容服务商,即向广大用户综合提供互联网信息业务和增值业务的电信运营商.其必须具备的证书即为ICP证,如运营一个网站,需要进行备案获取 ...

  5. socket的使用二

    基于UDP协议的socket udp是无链接的,先启动哪一端都不会报错 简单使用 server端 import socket udp_sk = socket.socket(type=socket.SO ...

  6. POJ 3228 [并查集]

    题目链接:[http://poj.org/problem?id=3228] 题意:给出n个村庄,每个村庄有金矿和仓库,然后给出m条边连接着这个村子.问题是把所有的金矿都移动到仓库里所要经过的路径的最大 ...

  7. 「HAOI2015」按位或

    「HAOI2015」按位或 解题思路 : 这类期望题一眼 \(\text{Min-Max}\) 容斥,只需要稍微推一下如何求 \(E(minS)\) 即可. \[ E(minS) = \frac{1} ...

  8. 【二分查找-最大化平均值】POJ2976 - Dropping Test

    [题目大意] 给出n组ai和bi,去掉k个使得a的总和除以b的总和最大. [思路] 也就是取(n-k)个数,最大化平均值,见<挑战程序设计竞赛>P144,最后公式为c(x)=((ai-x* ...

  9. MongoDB,pymongo

    MongoDB: 数据库,nosql [{ id:1 name:"蔡文姬" age: 16 gender:"女" }, { id:1 name:"蔡文 ...

  10. php -- 解决php连接sqlserver2005中文乱码问题(附详细解决方法)

    @_@~~ --php5.2 --phpstudy --apache --sqlserver2005 @_@~~问题描述 问题一:php连接sqlsever2005,输入中文,然后查询sqlserve ...