JavaScript语言核心

  任何的编程语言都有自己的语言核心,和众多编程语言一样,JavaScript也有自己语言的核心。语言的核心部分一般被称之为JavaScript最为基础的部分。正所谓万事开头难,学习JavaScript也是一个道理,也有句古话说得好,好的开始是成功的一半。了解并学好JavaScript的语言核心部分是JavaScript学习道路上非常良好的开始。

  下面是一段代码,主要介绍了JavaScript的数据类型和变量:

  

//在script标签中,所有//后面的内容都称之为注释
//注释的作用一般都是为一段JavaScript进行一些解释,让其他Web前端开发工程师或者是阅读这段代码的时候更加清楚明了

//变量是一个值的符号名字,通过这些变量的名字,我们也能够大体的知道这个变量是干什么用的,属于是什么变量类型
//区别变量很简单。变量的前面都有“var” ,也就是说变量是通过“var”进行声明的。

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

//一般我们把要声明的值用等号赋给变量
var m = 10;   //现在的变量m等于 10

m		//通过 变量 m 来获取刚才声明的值

//alert(m)    //利用alert()函数,在浏览器出弹出m的值

//JavaScript的数据类型:布尔值,数字,字符串,underfind,函数,数组,对象
					
var n = 1;	//数字
	n = 0.01 //整数和实数都是数字类型
	
var s = "你好"; //由双引号内的文本构成的字符串
	s = '国安';	//由单引号内的文本构成的字符串

var b = false;	//错误的布尔值
	b = true;	//正确的布尔值

var z = null;	//一个null的空值,是一个特殊的类型,typeof后是对象

var u;			//underfind

var j = {			//一个代表json的对象
			li :3,	//属性“li”的值是3
			meng :4	//属性“meng”的值是4
		}

	j["li"]		//通过[]访问json中的值
	j.li		//通过.访问json中的值
	j.long = 5	//通过赋值的方法创建新的属性
	j.ai = {	//通过赋值可以创建新的json
			xin : 33
		}	
	j.kong = {}	//{}代表空对象,它没有属性

	j.ai.xin	//通过.访问新的json中的属性


var a = [2,3,2]	//一个代表数组的对象

a[0]	//数组中[]代表[]中数字代表位置,数组从0开始,所以a[0]是数组的第一个元素
a.length	//length代表数组a的个数,3
a[a.length-1]	//代表数组中的最后一个元素
a[9] = 2;		//用赋值的方法添加新的元素

//若a = [],那么代表数组里的元素为零个,a.length = 0

a[0] = {
			li : 333
		}


//json中能包含数组,数组中也能包含json

//alert(a[0]["li"]) 

  上面的代码中,可以通过“[]”、“{}”、“.”定义对象,也可以通过“[]”、“{}”、“.”开更改数组或者对象中的内容。也可以通过“[]”、“{}”、“.”来读取对象中的一些数据。下面一组代码是有关运算符的:

  

	//JavaScript中可以运用预算符,进行两个数之间的运算,可以产生新的值
	//下面是比较常见的一些预算符,如"+"、"-"、"*"、"/"

//1、介绍运算符
	10 + 10	//加法,20
	10 * 10 //乘法,100
	10 - 10 //减法,0
	10 /10	//除法,1

var j = {			//一个代表json的对象
			li :3,	//属性“li”的值是3
			meng :4	//属性“meng”的值是4
		}

	j["li"] - j.meng //json j中的属性li 减去 json j中的属性meng ,结果是-1

	"10" + "10"	//加法可以进行字符串的拼接,结果是100


//2、JavaScript中定义了一些简写的运算符

	var num = 0	//定义一个数字

	num++;	//代表自增,num = num + 1;
	num--;	//代表自减,相当于 num = num - 1;
	num += 2;	//代表自增2 ,相当于num = num + 2;
	num *= 8;	//代表自称8 ,相当于num = num * 8;

//3、运算符进行判断

	var a = 1,b = 2;	//一个等号代表复制,两个变量之间用","隔开,代表同时声明

	a == b;	//结果是false	意思是a和b是相等吗
	a != b;	//结果是true	意思是a和b不相等吗
	a < b;	//结果是true	意思是a小于b吗
	a <= b; //结果是true	意思是a小于或者等于b吗
	a >	b;	//结果是false	意思是a大于b吗
	a >= b;	//结果是false	意思是a大于或者等于b吗
	"two" == "three"; //true "tw"在字母表中的索引大于"th"
	false > (a > b)	//结果是true	意思是false和false进行比较

//4、逻辑运算符

	(a == 2) && (b == 3) //结果是true。a是等于2 并且 b是等于3 的吗 。&&代表并且的意思
	a > 2 || b > 2		 //结果true ,第一个是false,第二个是true,由于 || 代表或的意思
	!(a == b)			 //结果是true 。! 是 求反 的意思

  运算符中,仅仅算出个值并不影响任何操作的都叫做表达式,并不改变程序的运行状态。而语句是不包含一个值,但是它改变运行状态。语句由于改变运行状态,所以后面加分号。

  每个函数都有自己的名字,通过名字可以调用执行某一个函数,可以定义一次,调用多次。下面是简单的函数小例子。

  

//1、函数是一段带有参数的JavaScript代码端,可以一次定义,多次调用,也可以带有参数
	
	var a = 3;	//声明一个值为3的变量a;

	function fn1 (n) {	//一个参数为n名为fn1的函数
		return n+1;		//返回一个比传入的值大一的值
	}					

	fn1(a)	//结果是4,由于刚才声明的a的值为3,所以调用函数时候,执行 a+1 也就是3+1

	var fOne = function(m) {	//函数也是一种数据类型,所以也可以把变量赋值成一个函数
		return m*m;				//返回一个数值,进行 参数 * 参数 的运算
	}

	fOne(a)	//结果是 9 

//2、方法,把函数赋值给变量的属性
	
	var arr = [];	//创建一个新数组
	arr.push(1,2,3);	//用push()方法向arr数组里从后添加元素
	arr.reverse();		//用reverse()方法将数组中的元素顺序反转

	var points = [	//声明一个元素中是json的数组
					{a : 0,b : 0},
					{a : 1,b : 1}
				]
	points.dist = function  () {	//在声明的数组中定义一种计算两点之间距离的方法

		var p1 = this[0];			//用this获取当前数组的引用
		var p2 = this[1];			//并且赋值给两个新的变量
		var a = p2.a - p1.a;		//x轴上的距离
		var b = p2.b - p1.b;		//y轴上的距离

		return Math.sqrt(a*a + b*b)		//用Math()中的sqrt()计算平方根从而得到两点之间的距离

	}

	alert(points.dist())		//结果是1.414 


//3、控制语句
	//条件语句和循环语句被称之为控制语句
	
	function abs (m) {	//求绝对值函数

		if (m >= 0) { //如果比较结果为true
			return m;	//返回 m
		}else {		 //若比较结果为false
			return -m;  //返回 -m
		}

	}

	function factorial (n) { //计算阶乘的函数

		var num = 1;		//声明一个值为1的变量

		while (n > 1) {		//当()内的表达式为true时候,执行循环{}内的代码

			num *= n;		//相当于 num = num * n
			n--;			//相当于 n = n -1

		}	
		
		return num			//返回阶乘的结果

	}

	factorial(4) //结果是24

	function factorialFor (n) {		//用for循环实现阶乘
		var i, num = 1;				//声明变量i,并且声明值为1的变量num

		for (i=2; i <= n ; i++) {	//将i从2循环到n
			num *= i;				//循环体,当循环体中只有一句话的时候可以省略{}
		}

		return num;					//返回计算好的阶乘表

	}

	factorialFor(5)

  从函数例子中可以看出,不管是while循环还是for循环,不管是判断语句还是循环语句,都算得上是控制语句。通过一定的条件控制将要发生的事情。

  介绍完函数,接下来介绍简单介绍一下面向对象。

  

//定义一个构造函数,就是先创造一个初始化的对象

function Point (x,y) {	//构造函数名的第一个字母要大写
	this.x = x;	//this代表的就是这个初始化对象
	this.y = y;	//将函数的参数存到这个初始化对象的属性中
}				//构造函数中不需要返回,return什么东西

//使用new关键字,和构造函数,创建一个新的对象
var p = new Point(1,1);	//创建一个平面坐标为(1,1)的点

//通过给构造函数原型赋值,来给Point新创建的对象添加方法
Point.prototype.r = function  () {

	return Math.sqrt(
			this.x*this.x + this.y*this.y
				);	//利用Math中的sqrt()方法进行开平方根运算。this指代的是调用方法的对象

}

p.r()	//结果是1.414

  上面的例子是教大家如何定义一个有求平方根方法的点。JavaScript的面向对象和其他编程语言的面向对象有一些区别。具体的区别呢,我们只能继续往下研究,才能知道。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript核心技术 简介: 《JavaScript核心技术》对于各种浏览器、浏览器版本、JavaScript版本、DOM版本的介绍,有助于我们理解所遇到的各种新旧代码,使我们能够对这些代码做出正确的取舍。《JavaScript核心技术》还提供了一些使用JavaScript的最佳实践。无论是新手还是老手,这些如何正确使用JavaScript的经验都能帮助他们养成良好的编程习惯。《JavaScript核心技术》还介绍了一些调试和开发JavaScript的工具,这些工具无疑能够提高我们的开发效率。 《JavaScript核心技术》最后对于Ajax和几个流行的JavaScript库的介绍,无疑会开阔我们在JavaScript使用上的思路。 《JavaScript核心技术》是一本真正意义上的“新书”,不仅介绍了最新的JavaScript知识和方向,还完全覆盖了当今Web开发中关于JavaScript的所有重要话题,它使用了大量实例代码,图文并茂地讲解了使用JavaScript的各个层次和领域的内容。它不是一本参考手册,但却是一本值得拥有的教程。 JavaScript核心技术 目录: 前言 第1章JavaScript初探 1.1规范和实现相互交织的历史 1.2跨浏览器的不兼容性和其他常见的JavaScript传说 1.3你能用JavaScript来做什么 1.4JavaScript初探:“HelloWorld!” 1.5JavaScript沙箱 1.6可访问性和JavaScript的最佳实践 第2章JavaScript数据类型与变量 2.1变量的标识 2.2作用域 2.3简单类型 2.4常量:有名称但不改变 2.5习题 第3章运算符和语句 3.1JavaScript语句的格式 3.2简单语句 3.3条件语句和程序流 3.4条件运算符 3.5逻辑运算符 3.6高级语句:循环语句 3.7习题 第4章JavaScript对象 4.1对象构造函数 4.2Number对象 4.3String对象 4.4正则表达式与RegExp 4.5有专门用途的对象:Date和Math 4.6JavaScript数组 4.7关联数组:不是数组的数组 4.8习题 第5章函数 5.1定义函数:细数所有方式 5.2回调函数 5.3函数和递归 5.4嵌套函数、函数闭包和内存泄漏 5.5作为对象的函数 5.6习题 第6章捕捉事件 6.1O级DOM上的事件句柄 6.22级DOM上的事件句柄 6.3产生事件 6.4习题 第7章表单与即时验证 7.1访问表单 7.2把事件附加在表单上:不同的方法 7.3选择列表 7.4单选按钮和复选框 7.5输入字段和JiT正则表达式 7.6习题 第8章沙箱及之上的cookie、连通性和隐私 第9章基础浏览器对象 第10章DOM:文档对象模型 第11章创建定制的JavaScript对象 第12章构建动态网页:在脚本中加入样式 第13章使用Ajax 第14章好消息:生动的程序库!令人惊异的Web服务!有趣的API! 附录习题答案
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值