目录 0.流程控制 2.定义函数 3.数据类型 4.数组 5.正则表达式 |
0.流程控制 0.1.选择语句 if 语句 var score = 60; if (score >= 90){ console.log("A"); } else if (score >= 80){ console.log("B"); } else if (score >= 70){ console.log("C"); } else if (score >= 60){ console.log("D"); } else { console.log("E"); } switch 语句,最终结果是 other,因为 switch 的比较是“===”。 var score = "90"; switch (score) { case 90: console.log("90"); break; case 80: console.log("80"); break; case 70: console.log("70"); break; case 60: console.log("60"); break; default: console.log("other"); break; } 0.2.循环语句 for循环语法 // for循环语句语法 var sum = 0; for (var i = 1; i < 15; i++) { sum += i; } console.log(sum); for循环打印一个三角型 // 打印三角型 for (var i=0; i<15; i++){ for (var j=0; j<=i; j++){ document.write("☆"); } // 换行 document.write("<br>"); }
while循环 while (i<33){ document.write('<td></td>'); } // do...while do{ document.write('<td></td>'); }while(i<33) |
1.1.基于事件调用
例子中用一个按钮的单击事件来触发javascript代码的执行
<!doctype html> <html> <head> <meta charset="utf-8"/> <title>第一种嵌入Javascript的方法演示</title> </head> <body> <input type="button" value="1.嵌入一段javascript代码" onclick="window.alert('I\'m JavaScript.');"/> </body> </html>
1.2.嵌入js代码块
页面加载时,自上而下依次执行:
<!doctype html> <html> <head> <meta charset="utf-8"/> <title>第二种嵌入Javascript的方法演示</title> <script type="text/javascript"> alert("Hello Kitty"); </script> </head> <body> <p>第二种执行方法</p> </body> </html>
1.3.引入js文件
从代码调入js文件:
<!doctype html> <html> <head> <meta charset="utf-8"/> <title>第三种嵌入Javascript的方法演示</title> <script type="text/javascript" src="./js/setform.js"></script> </head> <body> <p>第三种执行方法</p> </body> </html>
1.4.js注释
单行注释使用双斜线,多行注释跟C相同
// 单行注释 /* * 多行注释 */
2.1.函数定义
使用关键字function定义函数
function f1(var1, var2, ...){ ...; return 33; }
还可以使用其他方法定义函数
f1 = function(...){ ...; }
调用函数,通过函数名称带上括号。
f1("e_no", "e_id", ...);
带参数的函数,调用时没有传入参数,采用默认值的处理方式
//当没有获取到参数时,设定为33、34 var1=var1||33; var2=var2||34;
2.2.变量作用域
全局变量,函数体外声明的变量,作用域从声明开始到脚本执行结束。能影响到函数中。
局部变量,函数体内声明的变量,作用域仅仅在函数内部(var 开头的声明)。如果函数内部,没有以var开头,就认为是个全局变量。
// 定义局部变量 var localvari = 'sunny' // 定义全局变量 localvari = 'rainy'
3.1.数据类型
五种类型:Undefined、String、Number、Boolean、Object。
Undefined类型只有一个值:undefined。
String类型可以使用单引号、也可以使用双引号。常用属性“length”,常用方法“toUpperCase”、“toLowerCase”、“substr”、“replace”。
Number类型常用方法:“isNaN”、“parseInt”、“parseFloat”。
Boolean类型只有两个值:true、false。多用于条件判断,条件判断是用到“==”、“====”,表示比较值相等、值相同数据类型一致。
Object类型,定义个Object类型有点特殊:
var o = new Object();
可以自定义类,默认继承自Object。
定义一个新类:
// 定义类 function myNewObject(var1, var2, var3){ // 为属性赋值 this.var1 = var1; this.var2 = var2; this.var3 = var3; // 为类定义方法 this.f1 = function(){ ...; ...; }; } // 创建对象 var O1 = new myNewObject(); // 使用类方法 O1.f1();
还可以使用其他方法定义类
myNewObject = function(var1, var2, var3){ this.var1 = var1; this.var2 = var2; this.var3 = var3; ... }
3.2.数据类型转换
3.2.1.隐式转换
转换规则(布尔false):
undefined -> false
null -> false
0 NaN -> false
"" -> false
转换规则(Number):
undefined -> NaN
"" -> 0
null -> 0
false -> 0
true -> 1
转换规则(String):
undefined -> "undefined"
null -> "NaN"
true -> "true"
false -> "false"
3.2.2.强制转换
规则一样的。
转换方法(布尔false): Boolean()
var test=0; alert(Boolean(test)); alert(typeof(Boolean(test)));
转换方法(String): String()
var test=123 alert(String(test)); alert(typeof(String(test)));
转换方法(Number): Number()
test=""; alert(Number(test)); alert(typeof(Number(test)));
3.3.数据处理函数
3.3.1.字符串
3.3.2.数组
3.3.3.字典、布尔值
数组在js中是一个Array对象。
// 定义一个静态数组 var myArray = [110, 112, 119, 122]; // 定义一个动态数组 myArray = new Array(10); for (var i=0; i<myArray.length; i++){ myArray[i] = new Array(i); }
数组中常用的方法,“reverse”、“pop”、“bush”、
特殊字符含义
特殊字符 | 含义 |
---|---|
^ | 匹配位置,开头 |
$ | 匹配位置,结尾 |
\s | 空白符 |
+ | 匹配次数,1到多次 |
* | 匹配次数,0到多次 |
? | 匹配次数,0或1次 |
{2,3} | 匹配次数,2到3次 |
{2,} | 匹配次数,最少2次 |
0-9 | 数字从0到9 |
[0-9] | 其中之一 |
5.1.创建正则表达式的方法
var reex = /EXPRESSION/flag; var reex = new RegExp("EXPRESSION", "flag"); // flag: i, g, m // 忽略大小写 // 全局匹配 // 多行
5.2.使用正则表达式
var eNo= "S0312651" // 创建 var ree = /^S[0-9]{6}/; // 比较 var result = ree.text(eNo);