JS
--1,可以出现的位置
行内js: <a onclick="alert(123);"> 点击 </a>
内部js:在网页的内部嵌入js代码.可以使用script标签(通常出现在head标签里).
外部js:单独的js文件,可以直接引入网页中
--2,基础语法:
--变量
--定义:var 变量名=变量值
--类型:number/string/boolean/null/undefined
--局部变量(在函数里的) / 成员变量(不在函数里的)
--运算符
+-*/ ++ -- == != === !== += -= *= /=
? : typeof
--语句
--if / if...else /if else if...
--switch...case
--for
--while
--do...while
--数组
--定义数组: var a = []; a = new Array();
--遍历数组: for(var i = 0;i<a.length;i++){ alert(a[i]); }
--for...in遍历: for(var i in a){ alert(a[i]); }
--函数
--无参的函数 / 含参的函数 / 有返回值的函数
--语法:function 函数名(参数列表){ 函数体 }
--3,测试运算符:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>js基础语法</title>
<!-- 内部js: 在网页中嵌套一段js代码 -->
<script>
//js的运算符
//6,js里的特殊运算符 typeof
var j=10;
alert(typeof j);//number/string/boolean...
alert(typeof j + "10");//number10
alert(typeof j + 10);//number10 ,+用来拼串
alert(j + 10);//20 ,+用来求和
//5,三元运算符 ? :
// alert(1==0 ? 10 : 5);
//求两个数里的大值
//prompt()默认收到的数据都是string类型,把字符串转整数的函数----parseInt()
var g = parseInt( prompt("请输入a的值:") ); //接受浏览器输入的数据
var h = parseInt( prompt("请输入b的值:") );
alert( g > h ? g : h );
//求三个数里的大值
var i = parseInt( prompt("请输入c的值:") ) ;
var max = g > h ? (g > i ? g : i ) : ( h > i ? h : i );
alert("三个数里的大值: "+max);
//4,比较运算符 == != === !==
alert(1==1);
alert(1=="1");//比较值
alert(1==="1");//比较值和类型
alert(1!=1);
//3,复合赋值运算符 += -+ *= /=
var f = 10;
f = f + 5 ; //
f += 5; //简写
alert(f);
//2,自增自减++ --
var d =1;
alert(d++);//符号在后,先使用再变化
alert(++d);//符号在前,先变化再使用
var e = 2;
alert(++e+d+e+++e);//++优先级高于+
//1,基础运算符
var b = 1.9;
var c = 2.1;
alert(b+c);
alert(b-c);
alert(b*c);
alert(b/c);
// js基本数据类型
var a = 10; /* 定义变量 */
a = 1.4; /* 修改变量 */
a = true;
a = "jack";
alert(a);
</script>
</head>
<body>
<!-- 行内js -->
<a onclick="alert(1);">js的行内写法</a>
</body>
</html>
--4,js语句:
--包括:分支结构/循环结构
--代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>js语句</title>
<!-- 在网页里嵌套js代码 -->
<script>
/* 分支结构: if switch */
/* if结构 */
var a = 10;
if( a > 100){
alert(a);
}else{
alert(0);
}
/* 接收用户输入的成绩,判断成绩所属的等级
80~100(包括80,也包括100) 优秀
60~80(包括60,但不包括80) 中等
0~60(包括0,但不包括60) 不及格
其他值 输入有误
*/
var b = prompt("请输入分数:");
if( b >=80 && b <= 100){
alert("优秀");
}else if( b >=60 && b < 80){
alert("中等");
}else if( b >=0 && b < 60){
alert("不及格");
}else{
alert("数据格式错误!");
}
/* switch结构 */
var c = prompt("请输入数字:");
switch(c){
case "1" : alert("今天是星期一"); break;
case "2": alert("今天是星期二");break;
case "3": alert("今天是星期三");break;
case 4: alert("今天是星期四");break;
case 5: alert("今天是星期五");break;
}
/* 循环语句 for while do...while foreach*/
/* 练习1:::循环弹出1-10 里的偶数*/
for (var i = 1; i <= 10 ; i++) {
if(i % 2 == 0){
//alert(i);//弹出框
console.log(i); //在浏览器里按f12的console里
}
}
/* 练习2::: 循环弹出1-10 里的偶数的和*/
var sum = 0;//定义变量,记录和
for (var i = 1; i < 11; i++) {
if( i % 2 == 0 ){
sum += i; //求和
}
}
console.log("总和是: "+sum); //在浏览器里按f12的console里
/* 练习3::: 循环弹出1-15 里的奇数的个数*/
var count=0;//定义变量,记录个数
for (var i = 1; i <= 15; i++) {
if( i % 2 == 1){
count++; //是奇数个数+1
}
}
console.log(count);
/* while循环... 先判断再执行 */
/* 打印0-5 */
var i = 0;
while( i <= 5 ){
console.log(i);
i++;
}
/* do...while循环,最少执行一次循环体 */
var i = 0;
do{
console.log(i);
i++;
}while( i <= 5 );
</script>
</head>
<body>
</body>
</html>
--5,js数组:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>js数组</title>
<!-- 向HTML网页中加入js代码 -->
<script>
/* 1,创建数组 */
var a = [] ; /* 方式1 */
a = [1,2,3,4,5]; /* js里的数组,长度可变 */
console.log(a);
var b = new Array() ; /* 方式2 */
b = new Array("tony",10,1.1,true,null,undefined);
console.log(b.length); /* 获取数组的长度*/
/* 2,遍历数组 */
for(var i = 0 ; i < a.length ; i++){
console.log( a[i] );/* 根据下标i获取数据,并打印 */
}
/* 练习1:::求数组里的整数的和 */
var sum = 0;//定义变量,记录和
for(var i = 0 ; i < a.length ; i++){
sum += a[i];
}
console.log("总和是: "+sum);
/* for...in遍历a数组, 相当于foreach*/
for(var i in a){ /* i是下标 */
console.log( a[i] ); //数组里的元素
}
</script>
</head>
<body>
</body>
</html>
--6,js函数:
--像Java程序里的方法,也可以有参数或者返回值
--语法: function 函数名(参数列表){ 函数体 }
--代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>js函数</title>
<!-- 向网页中插入js代码 -->
<script>
/* js函数: 定义函数 + 调用函数 + 语法: function 函数名(参数列表){ 函数体 } */
//1,定义函数 (方式1可以先调用再定义,方式2必须先定义才能调用)
function a(){ /* 方式1*/
console.log(123);
}
var b = function(){/* 方式2*/
console.log(100);
}
//2,调用函数
a();
b();
/* 定义需要参数的函数 */
function c(x,y){
console.log(x+y);
}
var d = function(x,y){
console.log(x-y);
}
/* 调用需要参数的函数 */
c(1,2);
d(9,1.5);
/* 定义需要返回值的函数 */
function e(x,y){
return x+y; //给调用者返回结果
}
/* 调用需要返回值的函数 */
var f = e(1,2); //f接受e函数返回来的结果
console.log(f);
/* 定义需要返回值的函数 */
var g = function(x,y){
return x+y;
}
/* 调用需要返回值的函数 */
var h = g("jack",10);
console.log(h); //jack10
</script>
</head>
<body>
</body>
</html>
js.对象
--1,网页代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS对象</title> <!-- 引入一个js文件 --> <script src="js/4.js"></script> </head> <body> </body> </html> --2,js代码 // 写js代码,用来测试 js对象--自定义js对象(声明对象+new对象+属性/函数) function Person(){ } //1,声明对象 var a = new Person();//2,new对象 a.name = "jack" ; //3,动态的添加属性 a.age = 20 ; //3.1,动态的添加属性 a.study = function(){//4,动态的添加函数 console.log(100); }; a.study();//调用函数 a.coding = function(m,n){//4.1,动态的添加函数 console.log(m+n); } ; a.coding("rose",10);//调用函数 a.eat = function(m,n){//4.2,动态的添加函数 return m+n; //返回结果 } ; //5,调用函数 var b = a.eat(1,2); console.log("eat函数的返回值::"+b); //打印eat()的返回值 //6,调用属性(要么打印要么赋值) console.log("name属性的值::"+a.name); console.log("age属性的值::"+a.age); //查看a对象的结构 console.log(a); /* 练习:::创建Student对象 */ function Student(){}//声明对象 var x = new Student();//new对象 x.name="张三";//动态添加属性 x.age=18;//动态添加属性 x.eat=function(){//动态添加函数 console.log(x.name); console.log(this.name); //this表示当前对象 }; x.eat();//调用函数 console.log( x.name ) ;//调用属性(要么赋值要么打印) console.log(x); //创建对象的方式2 var pp = { name: "李四" , //添加属性 age: 20 , //添加属性 score: 100 , //添加属性 show: function(){ //添加函数 console.log("abc"); } } pp.show();//调用函数 console.log(pp.name);//调用属性 console.log(pp); console.log(100); /* 也可以直接在浏览器的console里输入代码 */ var p3 = { name:"jack" ,age:20 ,addr:"北京"}; console.log(p3); console.table(p3);