html(决定页面显示的内容) + CSS(决定页面的布局) + JS(和用户或服务器交互)
JS前段的编程语言,脚本语言,简单易学,基础是HTML+CSS
JS需要写在<script type="text/javascript"> </script>之中,脚本可以放在<head>或者<body>标签中;
JS的输出:
Window.alert() --弹框
Documen.write() --将内容写在HTML里面
InnerHTML --同上
Console.log() --写到浏览器的控制台
注意:JS中大小写敏感
单行注释://
多行注释:/**/
JS的数据类型:
数字 3.14 1001 123e3=123*10^3
字符串:使用单引号括起来的
数组:[1,2,3,4,5]array
对象{name:'haq',age:20}
函数 function fun(函数){函数体},每一行代码写完后需要加;
定义变量时,需要注意的事项:
1.变量必须是字母开头,使用$或者_也可以,但是不推荐后者;
2.大小写敏感
3.定义变量时,需要使用var,变量需要先定义后使用,在定义时可以实现赋值;
4.一条语句可以定义多个变量 var name = 'icp',age=20,job='hacker'
5.没有初始化的变量,相当于undefined
JS的数据类型:
String/Number/boolean/NULL/undefined --值类型
Object/ Array/Function --引用类型
Var x;
Var = 123465.12;
Var =12;
Var test =null;
Var po ="string";
Var fo=true;
Var array te=new Array();
Array te[0] = "hello";
Array te[1] = "icp";
对象:
使用一种抽象的概念去描述,人{属性,方法}
针对属性的使用方法:
Name=car.type;
Color=car["color"];
针对对象方法的使用:
Deal = car.do();
函数的定义和使用:
无参函数:
Function fun()
{
语句体;
}
Function fun(a,b)
{函数体;
}
局部变量:(根据作用范围来分)
局部变量:在函数内部申明的变量,只能在函数内部去使用;
全局变量:
字符串处理:
字符串需要使用''或者""括起来,可以使用下标的方式去访问字符串中每个字符;
字符串中特殊字符如果需要打印出来,需要使用专业字符\,转义字符就是让字符保持原有的含义,而不被当做特殊字符去使用。
使用string.length获取字符串的长度,其中转义字符\不算
特殊字符:' " \ \r \t \b \f
字符串可以被当做对象,var s=new string('test');s='test';
属性:length、prototype(允许)
JS几种的数据类型的用法:
String --字符类型,= 后直接用分号或者new string(赋值成对象)


方法:
1.字符串长度:length 属性返回字符串的长度;
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;


2.查找字符串中的字符串:indexOf() 方法返回字符串中指定文本首次出现的索引(位置),没找到则返回-1;
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");


3.检索字符串中的字符串:search() 方法搜索特定值的字符串,并返回匹配的位置:
var str = "The full name of China is the People's Republic of China.";
var pos = str.search("locate");


4.替换字符串内容:replace() 方法用另一个值替换在字符串中指定的值(替换首个匹配):
str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3School");
5.转换为大写和小写:通过 toUpperCase() 把字符串转换为大写;通过 toLowerCase() 把字符串转换为小写:
var text1 = "Hello World!"; // 字符串
var text2 = text1.toUpperCase(); // text2 是被转换为大写的 text1
var text1 = "Hello World!"; // 字符串
var text2 = text1.toLowerCase(); // text2 是被转换为小写的 text1
6.连接字符串:concat() 连接两个或多个字符串:
var text1 = "Hello";
var text2 = "World";
text3 = text1.concat(" ",text2);
7.charAt() 方法:charAt() 方法返回字符串中指定下标(位置)的字符串:
var str = "HELLO WORLD";
str.charAt(0); // 返回 H


Number --数字类型
赋值方法:=右边直接赋值,可以使用科学计数法
var x = 3.14; // 带小数点的数值
var y = 3; // 不带小数点的数值
var x = 123e5; // 12300000
var y = 123e-5; // 0.00123
方法:
1.toString() 方法:toString() 以字符串返回数值。
var x = 123;
x.toString(); // 从变量 x 返回 123
(123).toString(); // 从文本 123 返回 123
(100 + 23).toString(); // 从表达式 100 + 23 返回 123
2.toFixed() 方法:toFixed() 返回字符串值,它包含了指定位数小数的数字:
var x = 9.656;
x.toFixed(0); // 返回 10
3.toPrecision() 方法:toPrecision() 返回字符串值,它包含了指定长度的数字:
Boolean类型:布尔类型,有true和flase两种取值;
var x = true;
var y = false;
NULL --数值为空,null 的数据类型是对象,可以通过设置值为 null 清空对象;
Undefined -- 在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined
var person; // 值是 undefined,类型是 undefined
Function--函数类型 --JavaScript 函数通过 function 关键词进行定义,其后是函数名和括号 ()。函数名可包含字母、数字、下划线和美元符号(规则与变量名相同)。圆括号包括由逗号分隔的参数;
var x = myFunction(4, 3); // 调用函数,返回值被赋值给 x
function myFunction(a, b) {
return a * b; // 函数返回 a 和 b 的乘积
}
Object--JavaScript中的对象,是一种无序的集合数据类型,它有若干个键值对组成。我们可以使用一对花括号来表示一个对象
var myObject = {
name: 'Mr hu',
age: 20,
'phone-num': '123'
}
Array --数组类型
赋值:=后面[]内添加内容
var cars = ["Saab", "Volvo", "BMW"];
使用 JavaScript 关键词 new赋值
var cars = new Array("Saab", "Volvo", "BMW");
js的运算符:
+(加)-(减)*(乘)/(除)%(取余)++(自增)--(自减)
赋值运算符:
=
比较运算符:
>、<、>=、<=、==、!=、
逻辑运算符:
&& and 与 -》全真则为真,有假则假
|| or 或 -》有真则为真,全假则假
! not -》 变假为真,变真为假
条件判断:
if(条件){语句体;}
if(条件){语句体1;}else{语句体2;}
if(条件1){语句体1;}else if(条件2){语句体2}else{语句体3}
switch(结果)
{
case 条件 :语句体;break;(个数不限)
。
。
。
Defaoult:语句体;
}
循环:
for 、do while 、while
break --跳出当前的循环体
contine --跳出本次循环,循环条件加一
类型转换:
String(x) // 从数值变量 x 返回字符串
x.toString()
全局方法 Number() 可把字符串转换为数字。
其他字符串将转换为 NaN(Not a number,不是数字)。
正则表达式:用单个字符串描述或匹配符合特定语法规则的字符串
一些字符序列组合在一起,可以简单也可以复杂的,可以去搜索可以替换
语法:/表达式/修饰符(可选的)
var para =/icq/i;
icq iCQ
js中使用search(),replace()去和正则表达式结合使用。
var str="I'm a hacker"
var n=str.search(/hacker/i);//匹配的字符串的索引值
修饰符:i --不分大小写 g--全局匹配 m --多行匹配
正则表达式中常用的模式
[abc]匹配其中任意的字符
[0-9]匹配0-9之间的数字
(x|y)--查找任意|分割的选项
元字符:有特殊含义的字符:
\d --数字
\s --空白字符
\b --匹配单词边界
\uXXX unicode 字符 X是16进制
量词:
n+至少匹配一个n
a*匹配0个或多个a
n?匹配0个或者n
test()他是正则表达式的方法 var para=“/test/i”para.test("要匹配的字符串"),检测字符串中是否有我们想要的结果
有就返回true,没有返回flase
var pa = new RegExp();该对象定义属性和方式的正则表达式;;
exec()该函数返回一个数组,其中存放匹配 的结果(第一个)
错误处理:
JavaScript 抛出(throw)错误;
eg:if(x == "") throw "值是空的";
try catch finish:
try { ... //异常的抛出 ,可能要出问题的代码
} catch(e) {
... //异常的捕获与处理 ,e是抛出异常对象的名字
} finally
{ ... //结束处理
}
js表单
<form name="myForm" action="js2.php" οnsubmit="return check_form()" method="post">
名字: <input type="text" name="fname">
<input type="submit" value="提交">
</form>
<script>
function check_form(){
var x=document.forms["myForm"]["fname"].value;
if(x==null||x == "")
{alert("请输入名字");
return false;
}
}
</script>
step1:form表单中添加onsubmit属性,值为"return check_form()",返回给函数check_form()函数,
step2:在check_form中新建变量x,用于返回document.forms["myForm"]["fname"].value函数的结果,第一个[]是表单的name(myForm),,第二个是输入框的name(fname);;