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. loadrunner中自定义查找并替换函数

    globas.h中定义 //LoadRunner中没有直接的函数支持查找并替换字符串,因此可以封装一个lr_replace函数出来: // ------------------------------ ...

  2. vars 变量预解析

    JavaScript中,你可以在函数的任何位置声明多个var语句,并且它们就好像是在函数顶部声明一样发挥作用,这种行为称为 hoisting(悬置/置顶解析/预解析).当你使用了一个变量,然后不久在函 ...

  3. 【fastadmin】 _id 功能失效解决办法

    在add.html模版中修改对应的input标签的各种属性

  4. 《java虚拟机》----java内存模型与线程

    No1. No2. java内存模型规定了所有的变量都存储在主内存中(Main Memory)中 每条线程还有自己的工作内存(Working Memory) 线程的工作内存中保存了被该线程使用到的变量 ...

  5. 平衡树之treap luoguP3369

    今天又复习了一遍treap,这题有前驱后继排名排位添加和删除等操作. 非常好写,虽然代码颇长但逻辑性很强. #include<bits/stdc++.h> using namespace ...

  6. POJ 3904 JZYZOJ 1202 Sky Code 莫比乌斯反演 组合数

    http://poj.org/problem?id=3904   题意:给一些数,求在这些数中找出四个数互质的方案数.   莫比乌斯反演的式子有两种形式http://blog.csdn.net/out ...

  7. App图标生成器的实现,附源码

    背景 网上各种生成app图标的网站和工具,感觉还是用自己写的心里畅快点,所以花了1个小时自己写了个.按照网上给的图标尺寸规范把所有尺寸的都生成了. 建了一个讨论群,533838427.很明显是针对独立 ...

  8. px,dp,sp以及像素密度

    px px(pixel): 像素,是指在由一个数字序列表示的图像中的一个最小单位.在Android中,无论屏幕密度多少,一个像素单位对应一个屏幕像素单位,不会根据屏幕密度自动缩放,因此一般不推荐使用p ...

  9. ZOJ 3687 The Review Plan I 容斥原理

    一道纯粹的容斥原理题!!不过有一个trick,就是会出现重复的,害我WA了几次!! 代码: #include<iostream> #include<cstdio> #inclu ...

  10. ACM -- 算法小结(三)反转句子顺序与反转单词组成顺序

    hdoj 1321 反转句子字母顺序 ac 2011/10/05 #include <iostream> #include <string> #include <algo ...