1.Javascript简介:
Javascript语言诞生主要是完成页面的数据验证。 因此它运行在客户端, 需要运行浏览器来解析执行 JavaScript 代码。Javascript 是弱类型, Java 是强类型。
2.特点:
1). 交互性(它可以做的就是信息的动态交互)
2). 安全性(不允许直接访问本地硬盘)
3). 跨平台性(只要是可以解释 JS 的浏览器都可以执行, 和平台无关)
3.变量:
数值类型: number
字符串类型: string
对象类型: object
布尔类型: boolean
函数类型: function
4.JavaScript 里特殊的值:
undefined 未定义, 所有 js 变量未赋于初始值的时候, 默认值都是 undefined.
null 空值
NaN 全称是: Not a Number。 非数字。 非数值。
0 、 null、 undefined、 ””(空串) 都认为是 false;
5.比较:
等于: == 做面值的比较
全等于: === 除了做面值的比较之外,还会比较数据类型
代码:
1 var a = "12"; 2 var b = 12; 3 alert( a == b ); // true 4 alert( a === b ); // false
6.逻辑运算:
&& 且运算。
有两种情况:
第一种: 当表达式全为真的时候。 返回最后一个表达式的值。
第二种: 当表达式中, 有一个为假的时候。 返回第一个为假的表达式的值
|| 或运算
第一种情况: 当表达式全为假时, 返回最后一个表达式的值
第二种情况: 只要有一个表达式为真。 就会把回第一个为真的表达式的值
并且 && 与运算 和 ||或运算 有短路。
短路就是说, 当这个&&或||运算有结果了之后 。 后面的表达式不再执行
代码:
1 var a = 12; //true 2 var b = "abc"; //true 3 var c = false; //false 4 var d = null; //false 5 6 alert( a && b ); //abc 7 alert( a && d ); //null 8 alert( c || d ); //null 9 alert( b || d ); //abc
7.数据
格式:
var 数组名 = []; // 空数组
var 数组名 = [1 , ’abc’ , true]; // 定义数组同时赋值元素
代码:
1 var arr = []; 2 alert(arr.length); //0 3 arr[0] = "aaa"; 4 alert(arr[0]); //aaa 5 alert(arr.length); //1 6 arr[2] = "123"; 7 alert(arr.length); //3 8 for(var i = 0; i < arr.length; i++){ 9 alert(arr[i]); //aaa undefined 123
8.函数
1).使用的格式如下:
function 函数名(形参列表){
函数体
}
代码:
1 function fun2(a,b) { 2 var sum = a + b; 3 return sum; 4 } 5 function fun3(a,b){ 6 var sum = fun2(a,b) * fun2(a,b); 7 alert(sum); 8 } 9 fun3(5,8);
2).使用格式如下:
var 函数名 = function(形参列表) { 函数体 }
代码:
1 var fun = function (a,b) { 2 var sum = a + b; 3 alert(sum); 4 } 5 fun(5,6);
9.函数的 arguments 隐形参数(只在 function 函数内)
代码:
1 function fun4(a) { 2 alert("参数个数:"+arguments.length); //查看参数个数 3 alert("arguments[0] = "+arguments[0]); 4 alert("arguments[1] = "+arguments[1]); 5 alert("arguments[2] = "+arguments[2]); 6 7 for(var i = 0; i < arguments.length;i++){ 8 alert("arguments[i] : "+arguments[i]); 9 } 10 } 11 fun4(4,5,6,8,4);
10.对象:
1).对象的定义:
var 变量名 = new Object(); // 对象实例(空对象)
变量名.属性名 = 值; // 定义一个属性
变量名.函数名 = function(){} // 定义一个函数
对象的访问:
变量名.属性 / 函数名();
代码:
1 var obj = new Object(); 2 obj.name = "张三"; 3 obj.age = 19; 4 obj.fun = function () { 5 alert("姓名:"+obj.name+" "+"年龄:"+obj.age); 6 } 7 obj.fun();
2).对象的定义:
var 变量名 = { // 空对象
属性名: 值, // 定义一个属性
属性名: 值, // 定义一个属性
函数名: function(){} // 定义一个函数
};
对象的访问:
变量名.属性 / 函数名();
代码:
1 var obj = { 2 name : "张三", 3 age : 19, 4 fun : function () { 5 //用 this引用 6 alert("姓名:"+this.name+" ; "+"年龄:"+this.age); 7 } 8 }; 9 obj.fun();
11.事件:
11.1).onload 加载完成事件: 页面加载完成之后, 常用于做页面 js 代码初始化操作。
代码:
1 <script type="text/javascript"> 2 /*function onloadFun() { 3 alert("静态加载事件"); 4 }*/ 5 6 // onload 事件动态注册。 是固定写法 7 window.onload = function () { 8 alert("动态加载事件"); 9 } 10 </script> 11 </head> 12 <!--静态注册 onload 事件 13 onload 事件是浏览器解析完页面之后就会自动触发的事件 14 <body onload="onloadFun();">--> 15 <body> 16 17 </body> 18 </html>
11.2).onclick 单击事件: 常用于按钮的点击响应操作。
代码:
1 <script type="text/javascript"> 2 /* 静态单击onclick事件 3 function onclickFun() { 4 alert("静态单击onclick事件"); 5 }*/ 6 7 //动态注册 onclick 事件 8 window.onload = function () { 9 // 1 获取标签对象 10 /* * document 是 JavaScript 语言提供的一个对象(文档) <br/> 11 * get 获取 12 * Element 元素(就是标签) 13 * By 通过。 。 由。 。 经。 。 。 14 * Id id 属性 15 * * 16 getElementById 通过 id 属性获取标签对象 17 */ 18 var obj = document.getElementById("click"); 19 // 2 通过标签对象.事件名 = function(){} 20 obj.onclick = function () { 21 alert("动态注册 onclick 事件"); 22 } 23 } 24 </script> 25 </head> 26 <body> 27 <button onclick="onclickFun();">按钮一</button> 28 <button id="click">按钮二</button> 29 </body> 30 </html>
11.3).onblur 失去焦点事件: 常用用于输入框失去焦点后验证其输入内容是否合法。
代码:
1 <script type="text/javascript"> 2 //静态焦点onblur事件 3 function onblurFun() { 4 // console 是控制台对象, 是由 JavaScript 语言提供, 专门用来向浏览器的控制器打印输出, 用于测试使用 5 // log() 是打印的方法 6 console.log("静态焦点onblur事件"); 7 } 8 //动态焦点onblur事件 9 window.onload = function () { 10 //1 获取标签对象 11 var obj = document.getElementById("pw"); 12 //2 通过标签对象.事件名 = function(){}; 13 obj.onblur = function () { 14 console.log("动态焦点onblur事件") 15 } 16 } 17 18 </script> 19 </head> 20 <body> 21 姓名:<input type="text" onblur="onblurFun();"><br/> 22 密码:<input type="password" id="pw"> 23 </body> 24 </html>
11.4).onchange 内容发生改变事件: 常用于下拉列表和输入框内容发生改变后操作。
代码:
1 <script type="text/javascript"> 2 //静态改变onchange事件 3 function onchangeFun() { 4 alert("静态改变onchange事件"); 5 } 6 7 //动态改变onchange事件 8 window.onload = function () { 9 //1 获取标签对象 10 var obj = document.getElementById("man"); 11 //2 通过标签对象.事件名 = function(){} 12 obj.onchange = function () { 13 alert("动态改变onchange事件"); 14 } 15 } 16 17 </script> 18 </head> 19 <body> 20 请选择你心中的女神: 21 <select onchange="onchangeFun();"> 22 <option>女神</option> 23 <option>刘亦菲</option> 24 <option>林青霞</option> 25 <option>李嘉欣</option> 26 </select> 27 请选择你心中的男神: 28 <select id="man"> 29 <option>男神</option> 30 <option>周星驰</option> 31 <option>张国荣</option> 32 <option>成龙</option> 33 </select> 34 </body> 35 </html>
11.5).onsubmit 表单提交事件: 常用于表单提交前, 验证所有表单项是否合法。
代码:
1 <script type="text/javascript"> 2 //静态提交onsubmit事件 3 function onsubmitFun() { 4 alert("静态提交onsubmit事件"); 5 return false; 6 } 7 8 //动态提交onsubmit事件 9 window.onload = function () { 10 var obj = document.getElementById("oh"); 11 obj.onsubmit = function () { 12 alert("动态提交onsubmit事件"); 13 return true; 14 } 15 } 16 </script> 17 </head> 18 <body> 19 <!--return false 可以阻止 表单提交 --> 20 <form action="https://www.baidu.com/" method="get" onsubmit="return onsubmitFun();"> 21 <input type="submit">静态提交 22 </form> 23 <br/> 24 <form action="https://www.baidu.com/" method="get" id="oh"> 25 <input type="submit">动态提交 26 </form> 27 </body> 28 </html>
12.dcoument:
12.1).document.getElementsByName(elementName)
通过标签的 id 属性查找标签 dom 对象, elementId 是标签的 id 属性值
代码:
1 <script type="text/javascript"> 2 /* 3 * 需求: 当用户点击了较验按钮, 要获取输出框中的内容。 然后验证其是否合法。 <br/> 4 * 验证的规则是: 必须由字母, 数字。 下划线组成。 并且长度是 5 到 12 位。 5 * */ 6 function onclickFun() { 7 // 1 当我们要操作一个标签的时候, 一定要先获取这个标签对象 8 var nameId = document.getElementById("name"); 9 var value = nameId.value; 10 //需要使用正则表达式技术 11 var patt = /^\w{5,12}$/; 12 var elementById = document.getElementById("spanId"); 13 /* 14 * test()方法用于测试某个字符串, 是不是匹配我的规则 , 15 * 匹配就返回 true。 不匹配就返回 false. 16 * */ 17 if(patt.test(value)){ 18 // innerHTML 表示起始标签和结束标签中的内容 19 // innerHTML 这个属性可读, 可写 20 elementById.innerHTML = "<img src=\"../imgs/right.png\" style=\"width: 16px;height: 16px\">"; 21 } 22 else{ 23 elementById.innerHTML = "<img src=\"../imgs/wrong.png\" style=\"width: 16px;height: 16px\">"; 24 } 25 26 } 27 </script> 28 </head> 29 <body> 30 姓名:<input type="text" id="name"> 31 <span id="spanId"></span> 32 <button onclick="onclickFun();">提交</button> 33 </body> 34 </html>
原文:https://www.cnblogs.com/0error0warning/p/12460434.html