【js组成】
ecmascript js语法标准
dom js操作网页元素
bom js操作浏览器
【js】
简单易用
解释执行(不编译)
基于对象
【js书写位置】
1.内嵌式:可写在页面的任何位置,建议写在HTML结束标签后面
<script src="text/javascript"></script>
2.外链式写法:
<script src="1.js"></script>
写js代码时分号不能省略。
【输出信息的5种方式】
1. alert(""); 在页面弹出一个对话框,早期js调试使用
2. confirm(""); 在页面弹出一个对话框,多一个取消按钮,常用if判断
3. console.log("") ; 将信息打印到控制台,现在用于js调试较多
4. prompt(""); 在页面弹出一个对话框,多一个输入栏
5. document.write(""); 在页面输出信息,括号中可以加入标签
转义字符:在alert中使用
\" 转双引号 \’ 转单引号
\n转换行 \r转回车
js注释:
快捷键:ctrl+/
单行注释 // 多行注释/*...*/
【变量和变量的命名规则】
<script src="text/javascript">
var wukong; 定义变量
wukong=123; 给变量赋值
alert(wukong);
</script>
变量的命名规范:
不能以数字或纯数字开头来定义变量名;
不推荐使用中文和保留字来定义;
不能使用关键字或特殊字符;
在js中使严格区分大小写
【数据类型】
number 数字类型 用typeof( )来判断数据类型
十六进制表示法:用0x开头
八进制表示法:用0开头,0-7组成
string 字符串类型
凡是用单双引号引起来的都是字符串
boolean 布尔数据类型
只有两个值true=1; flase=0;
undefined 变量未初始化
定义了变量没有给变量赋值,但是变量在内存中是存在的
null 变量未引用 值为空
在内存里找不到这个变量的
空字符串在内存里是存在的
【算数运算符】
加号
两个数字类型的变量相加,得到的是一个数字类型
一个数字类型和一个字符串类型相加,得到一个字符串
两个字符串相加得到相连的字符串
减号
两个数字类型的变量相减,得到的是一个数字类型
一个数字类型和一个数字字符串相减,得到的是一个数字类型
一个数字类型和一个数字开头的字符串相减,得到的是一个数字类型NaN:not a number;不是一个数字,但是一个数字类型
一个数字类型和一个非数字字符串相减,得到的还是NaN
除号/
两个数字类型相除,得到的是一个数字类型
一个数字类型和一个数字字符串相除,得到的是一个数字类型
一个数字类型和一个非数字字符串相减,得到的还是NaN
除数为0的时候,得到infinity(无限大),是一个数字类型
取余%
优先级 优先计算()里面的
【带操作的赋值运算】
a+=b a=a+b
a-=b a=a-b
a*=b a=a*b
a/=b a=a/b
【date对象和Math方法】
date对象
var mydate=new Date(); //通过new方法创建对象
alert(Date()); //返回一个完整的日期时间
alert(mydate.getDay()); //返回当前是周几
alert(mydate.getMonth()+1); //返回当前月份
alert(mydate.getFullYear()); //返回当前年份(注意大小写)
alert(mydate.getHours()); //返回当前小时
alert(mydate.getMinutes()); //返回当前分钟部分
alert(mydate.getSeconds()); //返回当前秒数
Math方法
Math.ceil( ); 向上取整,天花板函数;如果是整数,取整之后为本身,如果是小数,对数进行向上舍入
Math.floor(); 向下取整,地板函数
Math.max(n1,n2); 取两个数的最大值
Math.min(n1,n2); 取两个数的最小值
Math.pow(n1,n2); 返回n1的n2次方
Math.round(n1); 四舍五入
Math.random(); 返回0-1之间的随机数
【数据类型转换】
1.number转string
String();
变量.String();
2.String转number
Number(); 数字类型的字符串转换后得到数字,非数字字符串转换之后得到NaN,小数类型字符串转换后得到原数字
parseInt(); 整数数字类型的字符串转换为整数数字,数字开头的字符串转换之后得到的是前边的数字,非数字开头的转换为 NaN;小数数字类型的字符串转换为取整的整数数字
parseFloat(); 整数数字类型的字符串转换为整数数字,数字开头的字符串转换之后得到的是前边的数字,非数字开头的转换为
NaN;小数数字类型的字符串转换为原数字
3.转布尔类型
Boolean();
数字和字符串转完之后为true;
undefined、null、0转完之后为flase
4.隐式数据类型转换
在运算过程中,程序自己进行的数据转换,程序员不用进行操作
【逻辑运算符】
逻辑运算只有两个结果,一个true,一个flase
&& 且
|| 或
! 非
【等号运算符】
“=”赋值运算符
“==”比较运算符:只判断内容是否相同,不判断数据类型
“===”比较运算符:判断内容和数据类型是否相同
“!=”只判断内容是否不相同
“!==”判断内容和数据类型是否不相同
【逗号运算符】
实现变量的集体声明
var n1=1,n2=2,n3=3;n1+=n2;
【if else条件判断】
if(条件表达式){
条件表达式为true执行;
}
else{
条件表达式为false执行;
}
例子:
var n1=prompt("请输入数字:");
var n2=Math.floor(Math.random()*100);
if(n1>n2){
alert("您赢了!");
}else{
alert("您输了!");
}
【if else嵌套】
if(){}
else if() {}
else if() {}
else{}
【三元表达式】
表达式?结果1:结果2;
表达式结果为true,执行结果1,如果表达式结果为flase,执行结果2;
【代码调试】
f12 代码调试工具
Sources 资源
【switch语句】
switch(变量){
case:1:
执行代码块1;
break;//阻止代码向下执行
case:2:
执行代码块2;
break;
case:3;
执行代码块3;
break;
default:
以上的值都不相同执行该处代码;
}
集体声明:
case“苹果”:case “香蕉”:case “葡萄”:
alert(“三个都喜欢!”);
break;
【自增自减】
i++; 相当于i=i+1;先赋值再自增
++i; 先自增,再赋值(如n2=++n1;)
【while循环】
while(判断条件){循环代码;}
重复执行一段代码,直到某个条件不再满足
【do while循环】
do{循环体;}while(条件表达式)
循环体先执行,比while循环多循环一次
【for循环】
for(定义变量;条件表达式;自增自减){循环体代码;}
执行顺序:首先定义变量,如果条件表达式结果为true的时候,执行for循环代码,若为flase,循环代码终止执行。
九九乘法表:
for(var j=1;j<=9;j++){
for(i=1;i<=j;i++){
document.write(i+"X"+j+"="+j*i+ );}
document.write("<br>");
}
【break语句】在循环体内只要代码遇到break,程序立马结束当前循环体
【continue语句】跳出本次循环,后面的循环还执行
【数组的定义赋值】
var ary1=new Array(); 用new方法来创建一个数组
var ary1=[]; 直接创建一个数组
ary1[0]=12; 通过下标给数组赋值
ary1[1]=23;
ary1[2]="中国人";
ary1[3]="美国人";
alert(ary1); 显示数组
var ary1=[12,23,45,"中国人","34"]; 数组的初始化
数组的遍历:
for(var i=0;i<ary.length ; i++){
alert(ary1[i]);
}
【数组的合并】
var ary3=ary1.concat(ary2);
alert(ary3);
【join方法】返回一个字符串数组,中间有个连接符(“”中写连接符)
var ary1=[2,23,32,21,345,46];
var ary2=ary1.join("&");
alert(ary2);
【函数的定义与调用】
function test(){
alert(""); } 创建函数
test(); 调用函数