day3 JS基本语法和相关方法

day03总结
 JavaScript的基础
 JavaScript的变量
 JavaScript的数据类型
 JavaScript的语句
 JavaScript的数组
 JavaScript的函数
 JavaScript内建对象
 JavaScript自定义对象
 BOM的基础
 Window对象
 Navigator
 Screen
 History对象
 Location对象
 DOM的基础
 Document对象
 Element对象
 Node对象
 innerHTML
JavaScript变量.
JavaScript是弱变量类型的语言.弱变量类型:定义变量的时候 变量没有具体的类型.当变量被赋值的时候.变量才会有具体的数据类型.
// 定义变量 在JavaScript中定义所有的变量都使用var.
var a = 1;
var b = “abc”;
var c = true;
var d = ‘bcd’;

	// 如果了解变量的具体类型  那么可以使用 typeof
	alert(typeof(a));			//  output number
	alert(typeof(b));			//  output string
	alert(typeof(c));			//  output boolean
	alert(typeof(d));			//  output string

	// 在JavaScript中 定义字符串  可以使用单引号 或者 双引号.

JavaScript中的语句.
 条件语句
两种:if语句 和 switch语句
if语句:
var i = 6;

	if(i>5){
		alert("i>5");
	}else{
		alert("i<=5");
	}

switch语句
var a = “2”;
// Java中switch作用在什么上?
// 在Java中 switch() 可以 byte short char int 不可以 long String类型也是不可以 但是在JDK1.7中String类型可以作用在switch上.
// 在JavaScript中 switch是否可以作用在string上. string在JavaScript中是原始数据类型.
switch(a){
case “1”:
alert(“a1");
break;
case “2”:
alert("a
2”);
break;
case “3”:
alert(“a==3”);
break;
default:
alert(“a是其他值”);

	}

if语句比较的时候 全等和非全等(=== !==)
var a = “98”;
// 与Java不一样的地方. == 比较的值. 而且可以进行简单的类型转换.
// 在JavaScript中有一个 === 全等. (值相等 而且 类型也要相等.)
if(a === 98){
alert(“a等于98”);
}else{
alert(“a不等于98”);
}
 循环语句
for while dowhile for in
for语句
var arr = [11,22,33,44];

	/*
	for(var i = 0;i<arr.length;i++){
		alert(arr[i]);
	}
	*/

while语句
var i = 0;
while(i<arr.length){
alert(arr[i]);
i++;
}
dowhile
var i = 0;
do{
alert(arr[i]);
i++;
}while(i<arr.length);
for in
for(var i in arr){
alert(arr[i]);
}
JavaScript中的数据类型
JavaScript中5种原始数据类型:
Undefined、Null、Boolean、Number 和 String
// null 和 undefined区别?
// 定义变量 变量没有初始化 如果访问了这个对象 对象中的某个属性不存在 访问了对象的不存在的这个属性 undefined
// 对象不存在 null

	//var div1 = document.getElementById("div1111");
	//alert(div1);  // null

	var a;
	if(a == undefined){
		alert("a没有初始化");
	}

	//var div1 = document.getElementById("div1")
	//alert(div1.href);

JS中的数组.
// 定义数组.
var arr1 = []; // 定义一个空数组
var arr2 = [11,22,33,44]; // 定义了一个有元素的数组.
var arr3 = [11,true,‘abc’]; // 定义一个数组 存入不同的数据类型. 但是一般不建议这样使用.

		/*
		for(var i = 0;i<arr3.length;i++){
				alert(arr3[i]);
		}
		*/
		// 定义数组 使用对象定义
		var arr4 = new Array();		// 定义了一个空数组.
		var arr5 = new Array(5);	// 定义了一个长度为5的数组.
		//alert(arr5[0]);
		// alert(arr4.length);
		var arr6 = new Array(1,2,3,4,5,6);  // 定义了一个数组  元素 1,2,3,4,5
		arr6[100] = 10;

		// 数组的长度是以 数组的最大下标值 + 1
		alert(arr6.length);

		// 面试题
		/*
			一下的语句那个是错误的(  C  )
			A.var a = //;
			B.var a = [];
			C.var a = ();
			D.var a = {};
		*/

JS中的函数
定义函数:
一种:普通方式
function 函数名(参数列表){
函数体
}
二种:构造方式(动态函数)
var 函数名 = new Function(“参数列表”,”函数体”);
三种:直接量方式
var 函数名 = function(参数列表){
函数体
}
函数中变量作用范围
在JavaScript中存在于两个域的.
全局域和函数域.
特殊的函数
回调函数:作为参数传递的函数
匿名函数:没有函数名的函数
匿名回调函数:这个方法作为参数传递而且还没有方法名
私有函数:定义在函数内部的函数.
保证函数的内部代码私有性。
一个函数执行多个逻辑
返回函数的函数
自调函数:定义()()
第一个小括号是函数定义
第二个小括号是函数调用.
JS中的内置对象.
 Array对象
常用:
length:计算数组的长度.
prototype:原型.
常用方法
reverse() :反转
sort() : 排序
 Boolean对象

 Date对象

 Math对象

 Number对象

 String对象
常用:
charAt();
indexOf();
split();
match();
substr();
substring();

 RegExp对象.
常用的方法:test();
JS的面向对象.
JS不是面向对象的 是基于对象. JS中的函数就是对象.
对象的定义:
一种:
var p1 = new Object();
二种:
var p2 = {};
三种:
function P{
}
将三种定义形式.分成两类.
普通形式
var obj = {
name:”张三”,
sayHello:function(){
}
}

函数形式
function Person(){
this.name = “李四”;
this.sayHello = function(){
}
}
调用的时候 需要new var p = new Person();
JS函数中的重载问题.
函数的重载:一个类中的方法名相同,但是参数个数或参数类型不同.
JS中本身没有重载需要使用arguments对象来实现类似与重载的效果 arguments本身就是数组.
arguments存的方法中的参数.
// 使用argument模拟重载效果.
function add(){
if(arguments.length == 2){
return arguments[0] + arguments[1];
}else if(arguments.length == 3){
return arguments[0] + arguments[1] + arguments[2];
}
}

	alert(add(1,2,3));

JS中的继承:
要了解继承就需要先了解prototype属性.在每个函数对象中都有一个prototype的属性.
那么就可以使用prototype对对象进行扩展(包括内建对象)
prototype:原型.作用用类对函数对象.进行扩展.
JS扩展内建对象.
// 扩展Array对象.判断某一个值是否在数组中。
Array.prototype.inArrays = function(val){
for(var i = 0;i<this.length;i++){
if(this[i]==val){
return true
}
}
return false;
}

			var arr = ["red","green","blue"];
			alert(arr.inArrays("black"));

JS中的继承:JS中本身没有继承,实现继承的效果. prototype就是一个函数对象的属性.利用了这个属性的扩展功能(扩展了的属性和方法 就可以当成在自己类定义的时候定义的那个属性和方法.)
利用prototype完成继承的效果.
function A(){
this.aName = “a”;
}
function B(){
this.bName = “b”;
}
B.prototype = new A();
另一种继承 原型继承.
function A(){}
A.prototype = {
aName : “a”
}

function B(){
this.bName = “b”;
}

B.prototype = A.prototype;

var b = new B();
alert(b.bName);
alert(b.aName);
BOM:Browser Object Model(浏览器对象模型.)
 Window:对象表示浏览器中打开的窗口 最顶层对象.
 Navigator :浏览器对象.
 Screen: 屏幕对象
 History:浏览器历史对象
 Location:地址对象.
Window对象
常用的方法:
alert(); :弹出一个提示框.
confirm(); :弹出一个确认框
prompt(); :输入框
setTimeout();定时 执行一次就ok了
setInterval();定时 循环执行
clearTimeout();清除定时
clearInterval();清除定时
open():打开一个新窗口
close():窗口关闭了.
案例:open和showModalDialog
History对象:浏览器的历史对象
常用的方法
back()
go()
forward()
Screen对象:屏幕对象
常用的属性
width
height
Location对象:地址对象
常用的属性 href = url
Navigator对象:浏览器对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值