JS

JS

1.javascript语言的特点

1 解释执行的脚本语言
	它的基本结构形式与c、c++、java十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它是需要嵌入到html页面中,让浏览器来解释执行的。 

2 基于对象的语言     
	javascript是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象.(没有java面向对象纯正)
	new Date();

3 简单性
	它是一种基于java基本语法语句和控制流之上的简单而紧凑的设计, 基本java中的语法都可以使用到javascript中,所以对于学过java语言的情况下,学习javascript也相对比较简单.

4 弱语言
	javascript的语法松散要求不严谨,比如:一个变量在之前没有声明的情况下就可以直接使用,声明变量的时候也可以不声明变量的类型等.

5 事件驱动
	我们在页面上的操作,例如 左键/右键的单击、双击,键盘上面的按键的监听,鼠标的移动 鼠标拖拽 鼠标滚轴的滚动等等事件的响应处理都可以交给javascript 

6 动态性
	javascript可以直接对用户或客户输入做出响应,无须经过web服务程序.
7 安全性
	javascript不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。 
8 跨平台性
	javascript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持javascript的浏览器就可正确执行,但是不同浏览器以及同一浏览器的不同版本对javascript的支持是不同的(浏览器的兼容性)

2.在页面中使用javascript的作用

​ 1.改进网页的设计布局(操作页面中的标签元素)
​ 2.验证表单
​ 3.检测浏览器、控制浏览器的行为
​ 4.创建cookies
​ 5.处理页面中触发的事件
​ 6.在使用ajax的时候也要用到javascript

3.javascript在页面中的位置

1.直接写到页面中
	须位于 <script> 与 </script> 标签之间,放置在 HTML 页面的 <body> 或者 <head> 标签中:
	    <script type="text/javascript">
			//在这里写JS代码
		</script>
	注意:js代码所写的位置会影响到代码的执行效果
2.写到标签元素的事件属性里面
	<div onclick="javascript:alert('hello world')">
3.写到一个外部的文件里面(.js结尾的文件)
	写到一个js文件中,然后哪个页面使用就引入过来,类似于css样式表的引用
	例如:
	<script type="text/javascript" src="js/test1.js"></script>

4.javascript中的注释
1 单行注释
//注释
2 多行注释
/*
多行注释
多行注释
*/

5.javasrcipt中的标示符(变量名):
大小写敏感
不能以数字开头
可以由字母、数字、下划线、$符号组成
不能是javascript中的关键字

6.javascript中声明变量:
任何类型的变量都可以用var关键字来声明.
var a = “”;
var b = 10;
var c = 10.9;
var d = new Date();
var e = true;

7.javascript中的null和undefined
//弹出null
var age = null;
alert(age);
//弹出undefined (根据浏览器来定)
var age;
alert(age);

8.javascript中的数据类型
字符串(String)、数字(Number)、布尔(Boolean)
对象(Object)、空(Null)、未定义(Undefined)。

对象(Object)中又包含Function、Array、Date以及自定义对象。

注意:可以使用全局函数typeof()来判断一个变量的数据类型,只能判断基础数据类型。对于使用内置构造函数创建的对象,均返回object

1 JavaScript 拥有动态类型的特点。这意味着相同的变量可用作不同的类型:
	例子:
	var x;               // x 为 undefined
	var x = 5;           // 现在 x 为数字
	var x = "John";      // 现在 x 为字符串
	
2 字符串 String
	字符串可以是引号中的任意文本。可以使用单引号或双引号:
	var name="tom";
	var name='tom';
	
	可以在字符串中使用引号,只要不匹配包围字符串的引号即可:
	var v="He is called 'tom'";
	var v='He is called "tom"';
	
	字符串对象的常用方法:
	var s = "hello world";
	document.write("<h1>字符串对象</h1>")
	//获得字符串的长度
	document.write(s.length+"<br>");
	//从下标为3的位置开始,截取4个字符,包括下标为3的位置的字符
	document.write(s.substr(3,4)+"<br>");
	//从下标为6的位置开始截取,截取到下标为8的位置,但是不包括下标为8的字符[6,8)
	document.write(s.substring(6,8)+"<br>");
	//trim()去掉字符串俩边的空格,但是这个方法有可能浏览器不支持.
	document.write(s.trim().length+"<br>");
	//字符串转换为大写
	document.write(s.toUpperCase()+"<br>");
	//字符串转换为小写
	document.write(s.toLowerCase()+"<br>");
	//分割字符串 返回一个数组
	document.write(s.split(" ")+"<br>");
	document.write(s.split(" ").length+"<br>");
	document.write(s.split(" ")[0]+"<br>");
	document.write(s.split(" ")[1]+"<br>");
	//字符串拼接
	concat()、join()
	
	注意:javascript中的转义符和java的一样也是\

3 数字 Number
	JavaScript 只有一种数字类型。数字可以带小数点,也可以不带
	var x1=34.00;      //使用小数点来写
	var x2=34;         //不使用小数点来写
	
	极大或极小的数字可以通过科学(指数)计数法来书写:
	var y=123e5;      // 12300000
	var z=123e-5;     // 0.00123
4 布尔
	布尔(逻辑)只能有两个值:true 或 false。
	var x=true;
	var y=false;
5 数组 Array
	javascript中数组的特点:
	1.数组的长度是可变的
	2.数组里面放的数据类型也可以不同
	3.数组的长度是和你所使用到的数组中最大下标相关联的.

	//创建数组的时候,可以指定长度也可以不指定
	//var a = new Array(4);
	//var a = [1,3,4,"tom"];
	var a = new Array();

	a[0] = "tom0";
	a[1] = "tom1";
	a[2] = "tom2";
	a[6] = "tom6";

	document.write(a.length+"<br>");

	//普通循环
	for(var i=0;i<a.length;i++){
		document.write(a[i]+"<br>");
	}

	tom0
	tom1
	tom2
	undefined
	undefined
	undefined
	tom6

	数组中添加元素和移除元素
	push(...)、pop()

	反转数组元素顺序:
	reverse()


​ 6 空(Null)、未定义(Undefined)
​ //null
​ var name = null;
​ //Undefined
​ var age;

​ 7 对象 Object
​ javascript中{}可以代表对象
​ javascript已经存在的类型的对象
​ var v = new Date();
​ var obj1 = new Object(), obj2 = {};//Object 对象
​ var arr1 = new Array(), arr2 = [];//Array 对象
​ var boo1 = new Boolean(true), boo2 = true;//Boolean 对象
​ var num1 = new Number(123), num2 = 123.45;//Number 对象
​ var str1 = new String(“abc”), str2 = ‘abc’;//String 对象
​ 8 自定义的对象:
​ var person={firstname:“John”, lastname:“Doe”, id:5566};
​ alert(person.firstname);
​ alert(person.lastname);
​ alert(person.id);

9.javascript中的对象、属性、方法/函数
对象、属性、方法基本和java的中的理解保持一致.
特别的对javascript中的方法/函数稍作说明:
1 形式
//无参的
function test1(){

	}
	//有参的
	function test2(name){

	}
	//多个参数的
	function test3(v1,v2){
		alert(v1+v2);
	}
	//有返回值的
	function test4(v1,v2){
		return v1+v2;
	}
	//匿名函数
	function(){
		//....
	}

2 位置
	定义在<script>标签中或者是外部的.js文件中
	注意:定义函数并不是执行函数

3 调用
	在<script>标签中调用定义的函数
		例如:可以先调用后定义
		<script type="text/javascript">
			function test(){
				alert("hello world");
			}
			test();
		</script>
	在html元素的事件属性中调用定义过的函数
		例如:可以先调用后定义
		<script type="text/javascript">
			function test(){
				alert("hello world");
			}
		</script>

		<input type="button" value="点击" onclick="test()" />

10.javascript中的三种弹框:
alert 提示框/警告框
confirm 确认框
prompt 输入对话框

这三个方法都是window这个对象的方法.window是JS中的一个内置对象,只有window对象的方法,调用的时候才可以省去对象的名字,直接用方法名字来调用window.alert("hello")和alert("hello")是一样的效果.

这三种弹框都有一个共同的特点,当浏览器运行一个弹框代码的时候,用户如果不点击弹框中的确定或者取消按钮的话,浏览器就会卡这个弹框处,下面的页面代码就不会被执行.

alert弹出一个警告框/提示框,用户点击确定按钮之后就可以继续访问。

confirm弹出一个确认框,用户可以点击确定或者取消,这个confirm方法会相应的返回true或者false.

prompt弹出一个可以让用户输入的框口,用户输入后点击确定,这个方法会把用户输入的内容返回.
prompt("请输入你的性别:");
同时还可以在输入框设置一个默认值.
prompt("请输入你的性别:","男");

如果用户什么都没输入,直接确定,那么方法返回值为""
如果用户取消,则方法返回值为null

11.javascript html dom
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。
在页面中用document来表示浏览器创建出来的文件对象模型.

JavaScript 能够改变页面中的所有 HTML 元素
JavaScript 能够改变页面中的所有 HTML 属性
JavaScript 能够改变页面中的所有 CSS 样式
JavaScript 能够对页面中的所有事件做出反应

在做这些事情之前必须要先找到当前的这个元素对象.

1 查找 HTML 元素
	
	通过 id 找到 HTML 元素
		document.getElementById("...");
		返回某一个元素对象,默认id是唯一的
	通过name找到 HTML 元素
		document.getElementsByName("...");
		返回一个集合
	通过标签名找到 HTML 元素
		document.getElementsByTagName("...");
		返回一个集合
	通过class找到 HTML 元素
		document.getElementsByClassName("...");
		返回一个集合
2 找到元素之后干什么
		1.改变元素中的内容
			利用innerHTML 或者 value来改变元素中显示的内容	
		2.改变元素的属性
			document.getElementById("image").src="2.jpg";
			<img id="image" src="1.jpg"></img>
		3.改变元素的css样式
			document.getElementById("p1").style.color="blue";
			<p id="p1">今天天气很好.</p>
		4.给元素添加事件处理(覆盖之前的事件)
			document.getElementById("myBtn").onclick=function(){
				//...
			};

		5.给元素添加事件监听(不覆盖之前的事件)
			document.getElementById("myBtn").addEventListener("click",function(){.....});
		6.添加或删除元素
			添加:
				//创建新元素对象 <p></p>
				var para=document.createElement("p");
				//创建文本节点
				var node=document.createTextNode("大家好");
				//把文本节点添加到<p></p>中
				para.appendChild(node);
				//获得指定div
				var element=document.getElementById("div1");
				//把<p></p>添加到div中
				element.appendChild(para);
			删除:
				<div id="div1">
					<p id="p1">大家好</p>
					<p id="p2">你们好</p>
				</div>
				
				<script>
					var parent=document.getElementById("div1");
					var child=document.getElementById("p1");
					parent.removeChild(child);
				</script>

12.javascript中的事件

	onblur 在对象失去输入焦点时触发。
	onfocus 当对象获得焦点时触发
	onchange 当对象或选中区的内容改变时触发。
	onclick 在用户用鼠标左键单击对象时触发。
	ondblclick 当用户双击对象时触发。
	onkeydown 当用户按下键盘任何按键时触发。
	onkeypress 当用户按下字母数字键时触发。
	onkeyup    当用户按下并释放键盘按键时触发
	onmousedown 当用户用任何鼠标按钮单击对象时触发。
		function test(event){
			//event.button=0 左键
			//event.button=1 中键
			//event.button=2 右键
		}
		<input type="button" value="点击" onmousedown="test(event)" />

	onmousemove 当用户将鼠标划过对象时触发。
	onmouseout 当用户将鼠标指针移出对象边界时触发。
	onmouseover 当用户将鼠标指针移动到对象内时触发
	onreset  当用户重置表单时触发
	onsubmit 当表单将要被提交时触发。
	onload   在浏览器完成对象的装载后立即触发。
	onunload  在浏览器完成对象的卸载后立即触发。

13.表单验证

<form action="" onsubmit="return jsCheck()">
		<input type="text" name="name" /><br>
		...
		..
		..
		..
		<input type="submit" value="提交" />
</form>

注意:onsubmit="return jsCheck()"表示表单提交之前先调用jsCheck()这个函数进行验证,然后jsCheck()返回true表示通过验证,则表单可以继续提交,返回false表示验证失败,表单不能提交.

注意:javascript代码也可以提交表单:
	document.forms.myForm.submit();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值