JavaScript概述

来源:互联网 发布:企业微信数据备份 编辑:程序博客网 时间:2024/06/16 14:43
第一章、JavaScript概述

JavaScript是一门高端的、动态的、弱类型的编程语言,非常适合面向对象和函数式的编程风格。JavaScript的语法源自Java,它的一等函数(first-class function)来自于Scheme,它的基于原型(prototype-based)的继承来自于Self。

JavaScript语言核心

//所有在双斜线之后的内容都属于注释

//仔细阅读这里的注释,它们对JavaScript代码做了解释

//变量是表示值的一个符号名字

//变量是通过Vvar关键字声明的

var x; //声明一个变量x

//值可以通过等号赋值给变量

x=0; //现在变量x的值为0

x //=》0:通过变量获取其值

//JavaScript支持多种数据类型

x=1; //数字

x=0.01; //整数和实数共用一种数据类型

x=”hello world”; //由双引号内的文本构成的字符串

x=’JavaScript’; //由单引号内的文本同样构成字符串

x=true; //布尔值

x=false; //另一个布尔值

x=null; //null是一个特殊的值,意思是”空”

x=undefined; //undefined和null非常的相似

//JavaScript中的最重要的类型是对象

//对象是名/值对的集合,或字符串到值映射的集合

  var book={  //对象是由花括号括起来的    topic:"JavaScript", //属性"topic"的值是"JavaScript"    fat:true          //属性"fat"的值是true  };    //右花括号标记了对象的结束

//通过”.”或”[]”来访问对象属性

  book.topic   //=>"JavaScript"  book["fat"]  //=>true:另外一种获取属性的方式  book.author="xufang";  //通过赋值创建一个新属性  book.contents={};     //{}是一个空对象,它没有属性

//JavaScript同样支持数组(以数字为索引的列表)

  var primes=[2,3,5,7];   //拥有4个值的数组,由"["和"]"划定边界  primes[0]      //=>2:数组中的第一个元素(索引为0)  primes.length; //=>4:数组中的元素个数  primes[primes.length-1] //=>7:数组的最后一个元素  primes[4]=9;   //通过赋值来添加新元素  primes[4]=11;  //或通过赋值来改变已有的元素  var empty=[];   //[]是空数组,它具有0个元素  empty.length    //=>0

//数组和对象中都可以包含另一个数组或对象:

  var points={    {x:0,y:0},   //具有两个元素的数组    {x:1,y:1}    //每个元素都是一个对象  };  var data={      //一个包含两个属性的对象    trial1:[[1,2],[3,4]],   //每个属性都是数组    trial2:[[2,3],[4,5]],    //数组的元素也是数组  }

通过方括号定义数组和通过花括号定义对象属性名和属性值之间的映射关系的语法称为初始化表达式(initializer expression)

运算符(operator)

//运算符作用于操作数,生成一个新的值

//最常见的是算术运算符

3+2   //=>5:加法3-2   //=>1:减法3*2   //=>6:乘法3/2   //=>1.5:除法point[1].x - points[0].x  //=>1:更复杂的操作数也能照常工作"3" + "2"  //=>"32":+可以完成加法运算也可以作字符串连接

//JavaScript定义了一些算术运算符的简写形式

var count=0;  //定义一个变量count++;    //自增1count--;    //自减1count+=2;   //自增2:和"count=count+2"写法一样count*=3;    //自乘3:和"count=count*3"写法一样count;    //=>6:变量本身也是一个表达式

//相等关系运算符用来判断两值是否相等

//不等、大于、小于运算符的运算结果是true或false

var x=2,y=3;   //这里的=等号是赋值的意思,不是比较相等x == y       //=>false:相等x != y     //=>true:不等x < y     //=>true:小于x <= y    //=>true:小于等于x > y     //=>false:大于x >= y     //=>false:大于等于"two" == "three"   //=>false:两个字符串不相等"two" > "three"   //=>true:"tw"在字母表中的索引大于"th"false == (x > y)   //=>true:false和false相等

//逻辑运算符是对布尔值的合并和求反

(x == 2) && (y == 3)  //=>true:两个比较都是true,&&表示"与"(x > 3) || (y < 3)   //=>false:两个比较不都是true,||表示"或"!(x == y)   //=>true:求反

//函数是一段带有参数的JavaScript代码端,可以多次调用

function plus1(x){  //定义了名为plus1的一个函数,带有参数x  return x+1;       //返回一个比传人的参数大的值}            //函数的代码块是由花括号包裹起来的部分plus1(y)         //=>4:y为3,调用函数的结果为3+1var square=function(){      //函数是一种值,可以赋值给变量  return x*x;        //计算函数的值};          //分号标识了赋值语句的结束square(plus(y))             //=>16:在一个表达式中调用两个函数

当将函数和对象合写在一起时,函数就变成了“方法”(method)

//当函数赋值给对象的属性,我们称为”方法”,所有的JavaScript对象都含有方法

var a=[];     //创建一个空数组a.push(1,2,3)   //push()方法向数组中添加元素a.reverse();     //另一个方法:将数组元素的次序反转//我们也可以定义自己的方法,"this"关键字是对定义方法的对象的引用,这里的例子是上文中提到的包含两个点位置信息的数组points.dist=function(){         //定义一个方法用来计算两点之间的距离  var p1=this[0];         //通过this获取对当前数组的引用  var p2=this[1];           //并取得调用的数组前两个元素  var a=p2.x - p1.x;      //x坐标轴上的距离  var b=p2.y-p1.y;       //y坐标轴上的距离  return Math.sqrt(a*a+b*b)     //用Math.sqrt()来计算平方根} points.dist();          //=>1.414:求得两个点之间的距离

JavaSctipt是一种面向对象的编程语言

//定义一个构造函数以初始化一个新的Point对象function Point(x,y){   //按照惯例,构造函数均以大写字母开始  this.x=x;            //关键字this指代初始化的实例  this.y=y;        //将函数参数存储为对象的属性}            //不需要return//使用new关键字和构造函数来创建一个实例var p=new Point(1,1);   //平面几何中的点(1,1)//通过给构造函数的prototype对象赋值//来给Point对象定义方法Point.prototype.r=function(){  return Math.sqrt(               this.x*this.x+this.y*this.y    //this指代调用这个方法的对象    );}//Point的实例对象p(以及所有的Point实例对象)继承了方法r()p.r();
客户端JavaScript

JavaScript语言核心

|版权声明:本文为summer博主原创文章,未经博主允许不得转载。

原创粉丝点击