javascript基础知识点整理2

这几天花时间观看了以前找同学要的一些java教学方面的视频资料,重新回顾了下里面讲到的知识点,现在对这些知识点做一个总结。

课程里面关于javascript的一共分为四块,js基本语法,js的内置对象,js自定义构造器,js宿主对象这几部分。

1.js基本语法

js是一种弱类型的语言,定义变量的时候不需要指定变量类型。定义函数的时候也不需要指定函数入参的类型和函数的返回类型。

2.内置对象

内置对象主要讲了6种

1)String对象

常用属性:

常用方法:

subtrring():

	function testString(){
		var str = new String("helloword");
		var substr = str.substring(0,3);
		alert(substr);
		
	}

输出结果为hel,输出String的子字符串,前闭后开。

substr(a,b);

2)Array对象

常用属性:

length; --返回数组的长度

常用方法:

reverse():

	function testArr(){
		var arr = new Array(1,"hello","java");
		var arr1 = arr.reverse();
		alert(arr1);
	}

输出"java","hello",1。该方法表示将数组种的元素反序排列。

join(a);  --将数组种的元素以分隔符a连接起来形成一个字符串

slice(a,b)  --将数组元素按照起始下标a,结束下标b,获取其子集。

sort(排序方法);  --将数组种的元素按照指定的排序方法排序,若不指定排序方法,则按照字母顺序排序。

3)Date对象

常用方法:

示例:

	function testDate(){
		var d = new Date();
		var y = d.getFullYear();
		var mon = d.getMonth()+1;
		var day = d.getDate();
		var h = d.getHours();
		var m = d.getMinutes();
		var s = d.getSeconds();
		var str = y+"年"+mon+"月"+day+"日 "+h+":"+m+":"+s;
		alert(str);
	}

4)RegExp对象

常用方法:

test():

示例:

	function testReg(){
		var tel = new String("13555556666");
		var reg = new RegExp("1[3,5,8][0,9]{9}");
		var flag = reg.test(tel);
		alert(flag);
	}

输出false,和String对象的match相似。

5)Math对象

常见方法:

示例:

	function testMath(){
		var v1 = Math.round(10.556);//四舍五入
		var v2 = Math.floor(10.556);//向下舍入
		var v3 = Math.ceil(10.556);//向上舍入
		alert(v1+":"+v2+":"+v3);
	}

6)Global全局对象

常用属性:

常用方法:

示例:

	function testGlobal(){
		var num1 = parseInt("10abdb");
		var num2 = parseInt("20edgds");
		var sum = num1+num2;
		alert(sum);
	}

输出30。

3.自定义构造器

	function Student(name,sex,age){
		this.name = name;
		this.sex = sex;
		this.age = age;
		this.print = function (){
			alert("<><>");
		}
	}
	
	function test(){
		var stu1 = new Student("Jack","man",20);
		var stu2 = new Student("marry","female",18);
		//alert(stu1.name);
		//stu1.print();
		//给单个对象添加属性,其他对象不具有该属性
		stu1.num = "101";
		alert(stu1.num);
		alert(stu2.num);
		//给原型添加属性,所有该构造器构造的对象都具有该属性
		Student.prototype.grade = 2;
		alert(stu1.grade);
		alert(stu2.grade);
	}

注意:自定义构造器与函数的形式非常类似,区别就是一般构造器的名称首字母大写,new关键字构造对象。

js种可以给对象动态添加属性,添加的时候又分为两种:给单个对象添加属性和给构造器原型添加属性。

4.宿主对象

1)浏览器对象navigator

2)窗体对象window

常用属性;

常用方法:

示例:

	function testWindow(){
		var w = screen.width;
		var h = screen.height;
		var x = w/2 - 200;
		var y = h/2 - 150;
		var w1 = window.open("","","height=300,width=400,left="+x+",top="+y);
		w1.document.write("<font style='color:red; font-size:18px'>我等你很久了....</font>");
		w1.close();
		window.close();
	}

3)位置对象location

常用属性:

常用方法:

示例:

	function testLocation(){
	//为位置对象设置一个完整的ULR,就会跳转到指定的URL
		//location.href = "./a1.html";
		//重新加载本页面
		//location.reload();
		//新页面替换本页面(页面跳转),无法回退
		location.relpace("./a1.html");
	}

4)历史对象history

常用属性:

常用方法:

示例:

	function testHistory(){
		//后退或者前进
		window.history.go(-1);
		//前进
		window.history.forward();
		//后退
		window.history.back();
	}

5)网页对象document

常用属性:

常用方法:

示例:

<html>
<head>
<title>DOM操作</title>
</head>
<script language="javascript">
	
	//选择省份
	function getProvince(){
		var e = document.getElementById("pro");
		e.innerHTML = "";
		createOption(e,"--请选择--","");
		createOption(e,"海南","hn");
		createOption(e,"湖北","hb");
		
	}
		//选择省份后给出对应省份的城市
	function getCities(){
		var pro = document.getElementById("pro").value;
		var c = document.getElementById("city");
		c.innerHTML = "";
		createOption(c,"--请选择--","");
		if(pro == "hn"){
			createOption(c,"海口","hk");
			createOption(c,"三沙","ss");
		}
		if(pro == "hb"){
			createOption(c,"武汉","wh");
			createOption(c,"宜昌","yc");
		}
	}
	
	function createOption(s,text,v){
		//创建option节点<option value = 'v'>text</option>
		var p = document.createElement("option");
		p.value = v;
		p.innerHTML = text;
		//alert(p.outerHTML);
		s.appendChild(p);
	}
</script>
		
<body>	
	<input type="button" value = "获取省份" onclick = "getProvince()" />
	<select id = "pro" name = "pro"onchange = "getCities()" ></select>
	<select id = "city" name = "city"></select>
</body>
</html>

说明:利用DOM实现一个二级联动的select标签。

猜你喜欢

转载自blog.csdn.net/w450093854/article/details/84306063