JavaScrip总结(初学)

一、JavaScript语法

JavaScript与Java的区别:

  1. JavaScript的程序代码直接嵌入HTML文件中;而Java程序代码写在Java源文件中;
  2. JavaScript是弱类型语言,比如在使用变量前可以不声明变量而直接使用;Java是强制类型语言,比如在使用变量前必须先声明变量;
  3. JavaScript的程序代码由客户端浏览器解释、执行;Java程序则必须先编译成class文件再由JVM执行

(一)函数

  • 函数两种的定义方式:

第一种称为定义式,可以先调用再定义;第二种称为变量式,必须先定义再使用

//函数的定义
//方法一
function test(a){//注意参数列表不能使用var
	console.log(a);
}
test(100);

result = t(12);
console.log(result);
function t(a){
	return a;
}

//方法二
var i = 1
var tt = function(name){
	console.log(i + "正在学习....");
	i++;
}
tt("Jim");//Jim正在学习....

//两种方法声明的区别
//第一种可以先使用在声明,第二种只能先声明在使用
  1. 匿名函数
//匿名函数
(function(a){
	console.log(a);
})(1);

(二)自定义对象

自定义对象的五种方式:

  1. 直接创建方式
//方法一:直接创建
var student = new Object();
student.name = "Jim";
student.dohomework = function(){
	console.log(this.name +"正在学习....");
}
student.dohomework();//函数调用
  1. 对象初始化器方式
var student = {
	name:"Tim",
	age:"12",
	dohomework :function(){
		console.log(this.name +"正在学习....");
	},
	eat :function(){
		console.log(this.name +"正在吃饭....");
	}
}

student.dohomework();
student.name = "Lucy";
student.dohomework();
  1. 构造函数方式
function Student1(name){
	this.name = name;
	this.dohomework= function(){
		console.log(this.name+"正在学习....");
	}
}

var stu = new Student1("Lucy");
stu.dohomework();
  1. prototype原型方式
function Student2(){			
}
Student2.prototype.name = "Kitty";
Student2.prototype.dohomework = function(){
	console.log(this.name+"正在学习....");
};

var student = new Student2();
student.dohomework();
  1. 混合的构造函数/原型方式
function Student3(name){
	this.name = name;
}
Student3.prototype.dohomework = function(){
	console.log(this.name+"正在学习....");
}
var student = new Student3("jobim");
student.dohomework();

(三)其他

  1. 数据类型
类型定义
字符串字符串类型数据需要使用单引号或双引号引起来
数字JavaScript 只有一种数字类型,数字可以是整形也可以是小数还可以是科学(指数)计数法
布尔JavaScript中布尔类型的数据只能是true 或 false
数组数组下标从0开始,所以获取第一个元素的语法是:数组变量名[0]
对象JavaScript中对象由大括号分隔;括号内部,对象的属性以属性名 : 属性值的形式来定义,属性之间由逗号分隔;获取属性值的方法有两种:对象变量名.属性名;对象变量名[“属性名”]
null声明变量并为其赋值null
undefined只声明了变量但是没有为变量赋值

var只是声明变量时的关键字,不是数据类型,浏览器根据具体数据自动识别数据类型
如果声明的变量没有赋值,则其值实际上是 undefined

//声明变量一律使用var关键字,var不是数据类型
var age = 12;//数字
var name = "jim";//字符串
var flag = true;//boolean
var names = ["Kate","Jim"];//数组类型
var obj = new Object();//对象
var abc;//仅声明,不赋值
var result = 1/2; 
//result 等于0.5
const a = 120;//const用于声明常量
  • 对字符串和数字进行加法运算
var x=5+5;//10
var x="5"+"5";//55
var x=5+"5";//55
var x=5+5+"5";//105
var x="5"+5;//55
var x="5"+5+5;//555
  1. == 与 ===
console.log(5 == "5");//true;
console.log(5 === "5");//false;===全等于,比较数值类型
console.log(5 === 5);//true;
  1. for/in循环
var names = ["a","b","c"];
for(var index in names){
	console.log(index);//index表示的是下标
	console.log(names[index]);
}

二、JavaScript内置对象

(一)Array对象

创建方法:

var arr = new Array();//空数组
var arr = new Array(10);//创建一个长度为10的数组
var arr = new Array(element0, element1, ..., elementn);//创建数组直接实例化元素
var arr = [];//空数组
var arr = [9,8,5,"java"];//创建数组直接实例化元素

属性和方法:

属性和方法描述
length数组长度
prototype向对象添加属性和方法。
join()把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔一个
pop()删除并返回最后元素
push()向数组的末尾添加一个或更多元素,并返回新的长度
reverse()反转数组
sort()排序

(二)Data对象

创建方式:

var d = new Date();

属性和方法:

属性和方法描述
prototype向对象添加属性和方法。
getFullYear()
getMonth()月 0-11
getDate()日 1-31
getDay()星期 0-6
getHours()小时 (0 ~ 23)
getMinutes()分钟 (0 ~ 59)
getSeconds()秒数 (0 ~ 59)
getMilliseconds()毫秒(0 ~ 999)
getTime()返回1970年1月1日午夜到指定日期(字符串)的毫秒数
toLocaleString()获得本地时间格式的字符串
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth()+1;//月份从0开始
month = month<10?"0"+month:month;
var day = date.getDate();
var week = date.getDay();

week = "日一二三四五六".charAt(week);
week = "星期"+week;
var hour = date.getHours();
hour = hour<10?"0"+hour:hour;
var minute = date.getMinutes();
minute = minute<10?"0"+minute:minute;
var second = date.getSeconds();
second = second<10?"0"+second:second;

var result = year +"-"+month +"-"+day+" "+week+" "+hour+":"+minute+":"+second;

(三)Event对象

常用事件

常用事件描述
onclick点击事件
onchange域内容被改变的事件
onfoucus获得焦点的事件
onblur失去焦点的事件
onmouseover鼠标悬浮的事件
onmouseout鼠标离开的事件
onload加载完毕的事件

添加事件的方法:

  1. 方法一:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			//事件
			function test(){
				console.log("helloworld");
			}
		</script>
	</head>
	<body>
		<input type = "button" value = "按钮" onclick="test()" />
	</body>
</html>

  1. 方法二:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<input type = "button" value = "按钮" />
		<script>
			//此方法必须放在id之后
			document.getElementById("button").onclick = function(){
				console.log("hello")
			}
		</script>
	</body>
</html>

3.方法三:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			function test(){
				console.log("helloworld");
			}
			document.getElementById("tes").addEventListener("onmouseout",function(){
				console.log("hello");
			});
		</script>
	</head>
	<body>
		<div style="width:200px;height: 200px;border: 1px solid red;" id = "tes" ></div>
		
	</body>
</html>

三、HTML BOM

BOM:Browser Object Model,即浏览器对象模型,提供了独立于内容的、可以与浏览器窗口进行互动的对象结构

(一)Window 对象

  1. alert()及confirm()
  • alert():显示带有一段消息和一个确认按钮的警告框
  • confirm():显示带有一段消息以及确认按钮和取消按钮的对话框。如果用户点击确定按钮,则 confirm() 返回 true。如果点击取消按钮,则 confirm() 返回 false
  1. setInterval()及clearInterval()
  • setInterval():按照指定的周期(以毫秒计)来调用函数或计算表达式。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
  • clearInterval():取消由 setInterval() 设置的 timeout。
function t(){
	console.log(111);
}
var id = setInterval("t()",1000);
clearInterval(id);
  1. setTimeout()和clearTimeout()
  • setTimeout():在指定的毫秒数后调用函数或计算表达式。由 setTimeout() 返回的 ID 值可用作 clearTimeout() 方法的参数。
  • clearTimeout():取消由 setTimeout() 方法设置的 timeout。
var id = setTimeout("t()",6000);
//在指定的毫秒数后调用函数或计算表达式。由 setTimeout() 返回的 ID 值可用作 clearTimeout() 方法的参数
clearTimeout(id);
//取消由 setTimeout() 方法设置的 timeout

(二)Document对象

Document对象方法

方法描述
getElementById()返回对拥有指定 id 的第一个对象的引用
getElementsByName()返回带有指定名称的对象集合
getElementsByTagName()返回带有指定标签名的对象集合
getElementsByClassName()返回带有指定类名称的对象集合
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<div id = "ttt" class = "z">
			<span>郑州大学</span>
		</div>
		<p class = "z">黄河</p>
		<p class = "z">黄河</p>
		<input type = "checkbox" name = "hobby" />
		<input type = "checkbox" name = "hobby" />
		<input type = "checkbox" name = "hobby" />
		
		<script>
			var element = document.getElementById("ttt");
			console.log(element);
			
			var element1 = document.getElementsByClassName("z");
			for(var i = 0;i<element1.length;i++){
				console.log(element1[i]);
			}
			console.log("#########");
			
			var element2 = document.getElementsByTagName("p");
			for(var i = 0;i<element2.length;i++){
				console.log(element2[i]);
			}
			console.log("#########");
			
			var element3 = document.getElementsByName("hobby");
			for(var i = 0;i<element3.length;i++){
				console.log(element3[i]);
			}
			
			function ttt(){
				var elementt = document.getElementById("user_name");
				console.log(elementt.value);
			}
		</script>	
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值