学习JavaScript的笔记(一)
js基础
用途
数据验证,读写html属性,与浏览器窗口及其内容的交互效果、网页特效、WEB游戏制作,基于node.js技术进行服务器编程
引入方式
行内式
在元素的事件属性中去书写
内嵌式
在body内部用一对script标签
外链式
通过外部引用js文件,将引入文件书写head标签内部
基础
JavaScript由ECMAsript、DOM、BOM三者组成,是一门弱类型动态的脚本语言
alert() 方法表示弹出框、警示框
注意:双引号里面只能嵌套单引号,单引号中只能嵌套双引号
console.log() 控制台日志
\表示转义符号,可以用来表示换行和引号等(如\n,’,\t)
注:八进制表示法:011
0O11
0o11(都表示八进制的11)
十六进制表示法:0x11
0X11
infinity:超出计算范围
接近0无法显示时会用0代替
NaN:not a number
//通过console.log()实现-infinity,infinity,0,-0,NaN
console.log(-1/0);
console.log(1/0);
console.log(0/1);
console.log(0/-1);
console.log(0/0);
variable(变量):可以看成是盛放数据的容器
注:当变量有多个赋值时,以最后一次为主
//var命名规则:
//不能以数字开头
//不能用关键字或者保留字
//可以用$或者_开头
//举例:
var _123 = 100;
var $123 = 'hello';
/*错误示范*/var function = 123;
//举例:未被赋值的变量会显示undefined值
//parseInt:可以将字符串类型转换成数字类型
console.log(parseInt('100'));//'100'本身是字符串类型,通过parseInt转换成数字类型
//也可以将十进制转化为其他进制的数
console.log(parseInt(15,6));//将十进制15转化成5进制
//最多36进制,默认为十进制
//parseFloat:可以将数字类型转换成浮点型
console.log(parseInt('1.23'));
//第二个数字无意义,不能转化进制
运算符
数学运算符
- 数学运算符:+,-,*,/,%,()
- 运算顺序:先乘除后取余,最后算加减,有小括号先算小括号内的
- 特殊运算:纯数字字符串与数字进行运算时,纯数字字符串会被隐式的转化成数字,加法除外
- 任何数字与NaN进行运算,得到的都是NaN
Math对象
Math对象是js内置的一个强大的数学对象,其中包含了很多数学运算的属性和方法
Math.random();//返回大于等于0小于1的一个随机数
Math.pow(num,power);//返回num的power次幂
Math.sqrt(num);//返回num的平方根
Math.PI;//返回π
比较运算符
//符号:>(大于),<(小于),==(等于),===(全等于)
- 字符串与字符串相比较:比较的不是大小和长短,比较的是字符的编码顺序,顺序靠前的小于顺序靠后的
- 字符编码顺序:数字,大写字母,小写字母
- 如果第一个字符相同,则要依次寻找后面的字母进行判断,直到判断出大小
逻辑运算符
&&:逻辑与运算符
||: 逻辑或运算符
!: 逻辑非运算符
与运算符:前为真,则返回后面的,前为假,则返回前面的(前真返后,前假返前)
或运算符:前真返前,前假返后
赋值运算符
=
+=
-=
*=
/=
%=
++:写在前会先运算,后返回结果,写在后面,会先返回结果,后运算
运算顺序:贴身的(如++或–)>数学>比较>逻辑>赋值
var num = prompt(“请输入一个三位数”);
三元运算符
三元运算符又叫三元表达式
三元运算符是唯一一个需要三个元素参与的表达式
结构: 条件表达式?值1:值2
表达式为真时,值为1
为假时,值为2
位运算符
针对二进制,正数以八位表示的二进制,如果是4,则为00000100
如果是-4,则先置位为1,剩下的位取反,最后一位加1
js中,采用32位来存储数据
条件语句
if语句
结构:if(条件表达式){
结构体1
else{
结构体2
}
}
典型特点:可以不写else,条件为假时跳出条件语句运行后面的js语句
注:条件体内部声明变量相当于外部声明变量,也会前置。
switch语句
switch语句用来定义多分支条件语句,语法如下:
switch(){
case:值1:
执行结构体1;
break;
case:值2:
执行结构体2;
break;
default;
break;(default中break可写可不写)
}
当switch里面的值为true时,case中可用条件结构,如下:
<script type="text/javascript">
var sc = prompt("请输入分数");
switch (true) {
case sc == 100:
alert("满分");
break;
case sc >= 90 && sc < 100:
alert("优秀");
break;
case sc >= 80 && sc < 90:
alert("良好");
break;
case sc >= 70 && sc < 80:
alert("1");
break;
case sc >= 60 && sc < 70:
alert("及格");
break;
default:
alert("不及格");
break;
}
console.log(sc);
</script>
总结:
if语句: 灵活常用
switch: 值有多种可能性
三元表达式:一般用于赋值时且值执行的结构语句为二选一的情况
循环语句
for循环
/*for(初始值(语句1);循环条件(语句2);增长量(语句3)){
循环语句(语句4);
}*/
<script type="text/javascript">
for(var i = 0; i <= 5; i+=1){
console.log(i);
}
console.log("循环结束了");
console.log(i);
</script>
/*for循环顺序:1243243*/
穷举思想
将所有情况一一列举,然后找出符合条件的
累加器与类乘器
累加器与累乘器的变量都需放在循环体外面
do-while循环
/*do{
循环语句
while(循环条件)
}*/
var one = 1;
var sum = 0;
do{
sum++;
console.log(sum);
one++;
}
while(one <= 10);
循环特点:
- do-while循环至少会循环一次
- 不能在循环内部初始化变量
- for循环先判断再做,do-while循环先做再判断
while循环
/* 语法:while(循环条件){
循环语句
}
*/
//计算从1加到100:
var i = 1;
var sum = 0;
while(i <= 100){
sum += i;
i++;
}
console.log('1到100的和',sum);
循环特点:
- 不能在循环内部初始化变量
- 必须在循环内部修改循环变量
break
- break作用:强制停止当前的循环
- 他会立即终止当前所在的循环语句,不会终止外层循环
- 若想要控制外层循环,则需要加上一个游标
var one = 1;
var sum = 0;
down:do{
sum++;
console.log(sum);
one++;
break down;
}
while(one <= 10);
continue
遇见continue,结束此次循环,立即进入下一次循环(只会结束一次循环)
注:该篇博客为自己视频学习时记录下的笔记,部分内容来源于学习视频