JavaScript basic (basic grammar: variables, statements, arrays, functions, objects, methods, and global js with different java, js associated with html)

****JavaScript 学习总结****
@author: Kern
@date-Time:2014年10月2日15:38:48
-----------------------------------

一:JavaScript和Java的不同之处:
	1.js是Netscape公司语言,java是sun公司,现在是Orcale公司;
	2.js是基于对象的,java是面向对象的;
	3.js是有浏览器解释并执行的,java是由jvm解释并执行的;
	4.js是弱类型语言,java是强类型语言;
	5.js是非严谨的,java是0严谨的;
	6.js是无数据类型的,而且javascript运行在客户端;

	javascript需要被浏览器所解释执行,就必须要将代码和html相结合。
	结合方式是:
	1,通过定义<script>标签将js代码存入其中,并指定type属性。方便与浏览器启动指定
	的解析引擎。
	2,通过<script>标签,是用src属性链接一个指定的js文件进来。


二:JavaScript的基本语法
	1.变量。
		通过var关键字定义变量,而且该你变量可以赋值不同类型的常量;
		var x=3;
		x="abc";
		特殊常量:undefind


	2.语句。
		if,switch,while,do-while,for.
		使用逻辑运算符进行布尔表达式连接的时候,需要时短路与短路或(&& ||),
		因为在js中,非0即为true,0为false。非null为true,null为false。

		js特有的语句:
		with(对象){};可以确定对象所使用的范围,在范围内,可以直接使用指定的
		对象的属性和行为,而不用.对象 的形式调用。简化了对象的操作。

		for(变量 in 对象);可以对对象的属性及行为进行遍历。


	3.数组。
		对于js的数组特点在于:该数组的长度是可变的,相对于java中的集合。
		该数组中可以存放的元素类型是可以不同的。
		定义格式:var arr=[3,true,"abc"];
			  var arr=new Array();
			  var arr=[[3,1,9],[3,5]];//二维数组的定义

	4.函数。
		通过function关键字定义函数。
		a,一般函数。
			格式:function 函数名 (形式参数···)
				{
					执行语句;
					return 返回值;
				}
			通常为了提高代码的复用性,可以将代码封装成函数。
			两个明确:
				#明确该功能实现后的结果;
				#该功能在实现过程中是否有委会内容参与运算。
			
		b,动态函数。
			使用的Function对象
			var show= new Function("x","y","return x+y;");
			动态函数的特点:可以将参数列表和方法体作为参数传递;

		c,匿名函数。
			一般函数的简写形式。
			function(){}
			匿名函数通常可以用于对事件的处理。
			如:
			window.οnlοad=functon(){alret('onload over');}

	在函数使用时需要注意的部分:
	function show(){
		return "show run";
	}
	var method =show();
	var method =show;
	两句代码都是正确的,第一句表示的是show方法运行后的结果赋值给method变量;
	第二句表示的是将show指向的对象的地址赋值给method。那么method也指向了该对象,
	那么就可以通过method()的形式来调用这个show方法。

------------------------------------
	js可以通过对象形式将数据进行封装,首先对对象进行描述,通过函数来完成。
	function Person(name,age)
	{
		this.name=name;
		this.age=age;
	}
	var p=new Person("lisi",30);
	alert(p["name"]+".."+p.age);
	p.show = function()
	{
		alert("show run");
	}
-------------------------------------
	JavaScript中的已定义好的一些对象。
	1.String,Math,Date,Array,Function
	这些对象都有一个属性叫做prototype原型
	prototype可以获取指定的对象引用。
	可以通过该引用给已有的对象赋予一些新的功能。

	function getMax()
	{
		var max=0;
		for(var x=1;x<this.length;x++)
		{
			if(this[x]>this[max])
			max=x;
		}
		return this[max];
	}

	var arr=[2,3,4,5,6,7];
	arr.sort(); //直接调用Array对象的sort方法对数组进行排序。
		      那么可以不以对象调用sort方法一样调用getMax方法呢?
		      就需要将getMax方法添加到Array对象当中。
	//去最大值
	Array.prototype.getMax=getMax;
	var x=arr.getMax();
	alert("max="+x);
	//字体加粗
	var str ="abc";
	str.subString(1,2);
	str.bold();  //<b>str</b>
	//设置颜色
	function myColor(color)
	{
		return "<font color='"+color+"'>"+this+"</font>";
	}
	String.prototype.color =myColor;
	str.color("red");
	//去掉字符串两端的空格
	function trim(){
		var start ,end;
		start=0;
		end=this.length-1;
		while(start<=end && this.charAt(start)==" ")
		start++;
		while(start<=end && this.charAt(end)==" ")
		end--;
		return this.subString(start,end+1);
	}
	String.prototype.trim=trim;
	var s="   ab c  ";
	s=s.trim();
	alert(s);
--------------------------------------
	常见的全局方法(不需要调用直接使用的方法)。
	parseInt(numstr,[radix]);//将数字格式的字符串转换成整数;
				   如果指定了技术,那么numstr会按照执行技术进行转换。
	var num =parseInt("110",2);//表示“110”这个字符串会按照二进制进行转换。
	alert("num"+num);//num=6;

	var x=6;
	alert(x.toString(2));//110,获取6对应的二进制表现形式。

-----------------------------------------

Published 55 original articles · won praise 46 · views 110 000 +

Guess you like

Origin blog.csdn.net/Kern_/article/details/39737405