简称JS,是一种浏览器解释型语言,嵌套在HTML文件中交给浏览器解释执行。主要用来实现网页的动态效果,用户交互及前后端的数据传输等。
【1】 元素绑定事件
- <!--实现点击按钮在控制台输出-->
- <button onclick="console.log('Hello World');">点击</button>
-
【2】 文档内嵌。使用标签书写 JS 代码
- <script type="text/javascript">
- alert("网页警告框");
- </script>
-
【3】外部链接
- <script src="index.js"></script>
-
【1】 JS是由语句组成,语句由关键字,变量,常量,运算符,方法组成.分号可以作为语句结束的标志,也可以省略
【2】 JS严格区分大小写
【3】 注释语法
- 单行注释使用 //
- 多行注释使用 /* */
-
【1】 作用 : 用于存储程序运行过程中可动态修改的数据
【2】 语法 : 使用关键var声明,自定义变量名
- var a; //变量声明
- a = 100; //变量赋值
- var b = 200; //声明并赋值
- var m,n,k; //同时声明多个变量
- var j = 10,c = 20; //同时声明并赋值多个变量
-
【3】 命名规范 :
【4】 使用注意 :
【1】作用 : 存储一经定义就无法修改的数据
【2】 语法 : 必须声明的同时赋值
- const PI = 3.14;
-
【3】注意 :
整数
(1)十进制表示
- var a = 100;
-
(2)八进制表示(以0为前缀)
- var b = 021; //结果为十进制的 17
-
(3)十六进制表示(以0x为前缀)
- var c = 0x35;//结果为十进制的 53
-
使用 : 整数可以采用不同进制表示,在控制台输出时一律会按照十进制输出
小数
(1)小数点表示 var m = 1.2345;
(2)科学计数法
- var s = "100";
- var s1 = "张三";
-
- var isSave = true;
- var isChecked = false;
-
- var a;
- console.log(a);//undefined
-
主要指对象,函数等
typeof 变量或表达式
typeof (变量或表达式)
- var n = "asda";
- console.log(typeof n);//string
- console.log(typeof(n));//string
-
不同类型的数据参与运算时,需要转换类型
【1】 转换字符串类型
方法 : toString()
返回转换后的字符串
- var a = 100;
- a = a.toString(); //"100"
- var b = true;
- b = b.toString(); //"true"
-
【2】转换number类型
- Number("abc")
- typeof NaN
- Number(undefined)
- Number(null)
-
- /*整体转number,使用Number()*/
- var s1 = '123';
- var s2 = '101a';
- var s3 = true;
- var s4 = 'true';
- var s5 = null;
- var s6;
- console.log(Number(s1),s1) //123 '123'
- console.log(Number(s2),s2) //NaN '101a'
- console.log(Number(s3),s3) //1 true
- console.log(Number(s4),s4) //NaN 'true'
- console.log(Number(s5),s5) //0 null
- console.log(Number(s6),s6) //NaN undefined
-
- /*
- 提取字符串中的number部分:会将非字符串的数据自动转换成字符串
- parseInt(n)
- parseFloat(n)
- */
- console.log(parseInt(35.5)) //35
- console.log(parseInt("35.5")) //35
- console.log(parseFloat('35.5.6.6')) //35.5
- console.log(parseFloat('a35.5')) //NaN
- console.log(parseFloat('101a')) //101
-
- var r1 = "我学"+"Python";
- console.log(r1,typeof r1) //我学Python string
- var r2 = 'maple'+31;
- console.log(r2,typeof r2) //maple31 string
- var r3 = 'maple'+true;
- console.log(r3,typeof r3) //mapletrue string
- var r4 = 'maple'+null;
- console.log(r4,typeof r4) //maplenull string
- var r5 = 'maple'+undefined;
- console.log(r5,typeof r5) //mapleundefined string
- var r6 = 'maple'+NaN;
- console.log(r6,typeof r6) //mapleNaN string
- var r7 = 'maple'+5+10;
- console.log(r7,typeof r7) //maple510 string
- var r8 = 10+5+'maple';
- console.log(r8,typeof r8) //15maple string
-
- = 将右边的值赋给左边变量
-
- + - * / % 加 减 乘 除 取余
-
- += -= *= /= %=
-
- ++ -- 变量的自增和自减指的是在自身基础上进行 +1或-1 的操作
-
- var s = true;
- s++;
- console.log(s,typeof s) //2 Number
-
-
- var n =5;
- var r =n++ + ++n + n++ + ++n +n;
- //5+ 7+ 7+ 9+ 9
- //分解
- var r1=n++; //r1=5 n=6
- var r2=++n; //r2=7 n=7
- var r3=n++; //r3=7 n=8
- var r4=++n; //r4=9 n=9
- var r5=+n; //r5=9 n=9
-
注意:
- > <
- >= <=
- ==(相等) !=(不相等)
- ===(全等) !==(不全等)
-
【1】 关系运算符用来判断表达式之间的关系,结果永远是布尔值 true/false
【2】使用
- null和其他数据类型做等值比较运算 不转换成数字
- null和undefined相等 但是 null和undefined不全等
-
- var res1=10>2;
- var res2='10'>'2'; //'1'>'2'
- var res3 = '人生苦短'>'我学Python'; //'人'>'我';
- console.log(res1,res2,res3) //true false false
- var s1 = '人';
- var s2 = '我';
- //获取字符的 Unicode编码charCodeAt(index)
- console.log(s1.charCodeAt(),s2.charCodeAt(),res3)//20154 25105 false
-
- var res4 = '10'>2;
- var res5 = '10'>true; //10>1
- var res6 = true > false; //1>0
- console.log(res4,res5,res6) //true true true
-
- var res7 = '10'>undefined; //10>NaN false
- var res8 = '10'>null; //10>0
- var res9 = 'true' > false; //NaN>0
- console.log(res7,res8,res9) //false true false
-
【3】相等与全等
- var r1 = 10=='10';
- var r2 = 10==='10';
- console.log(r1,r2); //true false
-
- //给出闰年判断的条件 能被4整除,不能被100整除,或者被400整除
- var year=2015;
- var r=year%4==0&&year%100!==0 ||year%400==0;
- console.log(typeof year,r)
-
- //"number" false
-
- var r1 = !5; //false
- //逻辑非的优先级高于关系运算
- var r2 = !5<3; //true false<3
- console.log(r1,r2) //false true
-
语法 :
- 表达式1 ? 表达式2 : 表达式3;
-
-
过程 :
- 判断表达式1是否成立,返回布尔值
- 如果表达式1成立,执行表达式2;
- 如果表达式1不成立,执行表达式3;
-
-
- var a = 10;
- if (a>5){
- console.log('成立'); //成立
- }else{
- console.log('不成立');
- }
- var res=a>5?'ok':'error';
- console.log(res) //ok
- a = 3;
- var res2 = a>5?'ok':a>=3?'>=3':'<3';
- console.log(res2) //>=3
-