js 基础知识

来源:互联网 发布:sys types.h windows 编辑:程序博客网 时间:2024/05/16 07:10

js数据类型分为:基础类型和对象类型。

基础类型:Number、String、Boolean、Null、Undefined

对象类型:object

对象类型Object包括:Array、Function、Date...

如果字符串里面包含字符串,有两种解决方法:

  • 1.双引号里面用单引号;
  • 2.单引号里面用双引号。

javascript使用以下八种转义字符,它们都是以反斜杠(\)开始。当JavaScript解析器看到反斜杠的时候,就会把程序员所要表达的意思表现出来。

序号转义字符使用说明1\b后退一格2\f换页3\n换行4\r返回5\t制表符6\'单引号7\"双引号8\反斜杠

Null和Undefined类型都只有唯一的特殊值,即null和undefined。不过null是关键字而undefined不是。

JavaScript把两者定义为相等的,如下代码可以验证:

  1. alert(null == undefined);//会弹出true。

尽管这两个值相等,但是它们的含义不同。undefined表示更深层次的“空值”,它是变量的一种取值,表明变量没有初始化。null 则用于表示尚未存在的对象。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。所以:

  1. alert(null === undefined);//会弹出false

你也可以认为undefined是表示系统级的、出乎意料的或类似错误的值的“空值”;而null表示程序级的、意料之中的值的“空值”。如果你想吧两者赋值给变量或者属性等,最好的选择是null

创建对象的两种方式:

第一种是使用new操作符后跟object 构造函数,如下:

  1. var obj = new Object();
  2. obj.name = "MangGuo";
  3. obj.age = 25;

第二种方式是使用对象字面量表示法。如下创建了一个和上面一样的对象:

  1. var obj = {
  2. name : "MangGuo", //name是属性名,"MangGuo"是值
  3. age : 25
  4. }
使用对象字面量创建对象需要注意:当属性名中含有空格、特殊字符或者是保留字的时候一定要加上引号,其他情况下可加可不加

访问对象的属性有两种方式:点或者中括号操作符

1.使用点操作符

语法:objectName.propertyName

其中,objectName 为对象名称,propertyName为属性名称。

2.使用中括号操作符

语法:objectName[propertyName]

其中,objectName 为对象名称,propertyName 为属性名称。

对象是属性的集合,我们经常会检测集合中成员的所属关系——判断某个属性是否属于某个对象。这个时候就用到了:hasOwnProperty 函数

创建数组的两种方式:

第一种方式:使用Array构造函数

var arr = new Array();

如果知道数组中的数据,可以把数据包含到构造函数中。比如:

var arr = new Array("cat","dog","mouse");

如果数组中的数据只有一个且是数值时,用引号引起来length是1,不用引号的话数值是几就表示length是都少。比如:

  1. var arr = new Array("3"); //创建了一个包含字符串是3的数组,length为1。
  2. var arr = new Array(3); //创建了一个length为3的数组

第二种方式:使用字面量表示法

var arr = [];

上面创建了一个空数组,如果你知道其中的数据,可以如下使用:

var arr = ["cat", "dog", "mouse"];

JavaScript中数组对象的map方法也是一种集合操作

  1. var a=[1,2,3,4];
  2. a.map(function(d){return d*2;});
  3. console.log(a);

结果是获得一个新的数组,将得到[2,4,6,8]

函数表达式

语法:

var funcName = fucntion(参数){ 代码 }

示例中把一个"匿名的函数"赋值给变量sum,由于var定义了一个声明语句,对变量sum 的解析是在代码运行之前,因此sum变量在代码运行时已经被定义过了。

但是由于赋值语句只在运行时执行,因此在相应代码执行之前,sum的值缺省为undefined

作为值的函数

JavaScript中的函数名本身就是变量,所以函数也可以作为值来使用。看如下示例:

  1. function funcName(someFunc, someParam){
  2. return someFunc(someParam)
  3. }

这个函数接收两个函数。第一个参数是一个函数,第二个参数是要传递给该函数的一个值

如下示例:

  1. function funcName(someFunc, someParam){
  2. return someFunc(someParam)
  3. }
  4. function sum(num){
  5. return num + 3;
  6. }
  7. var result = funcName(sum, 5);
  8. alert(result); //=>8

在JavaScript中有四种方式调用函数,如下:

  • 1.方法调用模式;
  • 2.函数调用模式;
  • 3.构造器调用模式;
  • 4.apply调用模式。

方法调用模式


当一个函数被保存为对象的一个属性时,我们称它为一个方法。如果调用表达式包含一个提取属性的动作(即我们在讲解对象时说的 . 操作符),那么它就被当做一个方法来调用。

如下示例:

  1. var myObj = {//对象字面量
  2. param1: 1,
  3. param2: 2,
  4. sum: function (){
  5. //this关键字只带当前的对象
  6. return this.result = this.param1 + this.param2;
  7. }
  8. }
  9. myObj.sum(); //=>3


0 0
原创粉丝点击