1.概述
html 骨架,css 美化, js 动效(nodejs 服务器端)
应用:游戏,页面动效,表单验证,服务端,智能检索
js:运行在客户端(浏览器)的解释型脚本语言。
解释型:高级语言->二进制语言 翻译
翻译:编译型和解释型
解释型:代码从上向下一边解释一边运行,javascript.由JS引擎来进行的
浏览器内核:渲染引擎,JS引擎。
编译:一次性编译成可以执行二进制文件,统一运行。
2.js组成:ECMAScript(语法),DOM,BOM
DOM:document object model 文档对象模型
BOM:browser object model 浏览器对象模型
js本质:可以通过js代码操作文档,浏览器
3.js样式
外链式 :外部样式,<script src="文件路径”></script>
行内式: 在标签后面加属性。
内嵌式:写在html结构的底部,为了能够获取页面中的内容才写到最下面的
js注释: 1.单行注释(代码的解释说明)2.多行注释
4.js输入输出语句
控制台输出:console.log('')
弹框输出:alert('')
页面输出: document.write('')
提示框:var a=prompt('提示字')
5.变量
5.1变量的概念:存储数据的容器
5.2变量的定义:
5.2.1先声明,后赋值 var x; x=10; console.log(x);
5.2.2声明的时候赋值 var y=10; console.log(y);
5.2.3 可以同时声明多个变量,在进行赋值 var x,y,z ; x=10 ;y=10; z=10;console.log(x);console.log(y);console.log(z);console.log(x,y,z);
5.3变量的命名规则和规范
5.3.1变量是由字母,数字,下划线,美元符号 var abc$=' ' console.log(abc$);
5.3.2不能以数字开头
5.3.3不能是关键字和保留字
5.3.4区分大小写 var Var = 10;console.log(Var)
5.3.5见名识意
5.3.6驼峰命名法
如果多个单词组成,第一个单词全部小写,从第二隔单词开始,首字母全部大写var anBigApple = 90;
6.数据类型
6.1数据类型的种类:
基本数据类型:字符串(string),数字(number),未定义(undefined),空(null)
复杂数据类型:对象(了解)
检测数据类型:typeof 关键字
6.1.1字符串(string):单引号或者双引号引起来,js推荐使用单引号
6.1.2数值型: 10, 20.1 ,-10, 010101,0xabaf,054,NaN(整数,小数,二进制(0和1),八进制(0-7),十六进制(0-9 a-f)) NaN:number 类型,但不是数字。
6.1.3undefined 未定义 只声明,未赋值。
6.1.4boolean 布尔 console.log(true) 是 真 对 console.log(false);否 假 错
6.1.5 null 空 var a = null; // 后期a将重新赋值成对象 console.log(typeof a); // object
7.字符串转为数值类型
7.1 number()
7.1.1number()可以将纯数字的字符串转换为数值
7.1.2number()可以将非纯数字的字符串转为NaN,也是数值类型。
7.2parseInt()
7.2.1parseInt()可以将纯数字的字符串转为数值
7.2.2parseInt()可以将数字开头的字符串转为数字
7.2.3parseInt()可以将非数字开头的字符串转为NaN,也是属于number类型
7.2.4 parseInt()保留整数
7.3parseFloat()
7.3.1parseFloat()保留小数点后面的数字
7.3.2parseFloat()数字开头的字符串转为数字
7.4 隐式转换 - * / %
7.5结论
7.5.1 Number()和parseInt()的不同点:
parseInt()可以将数字开头的字符串转为数字,Number()只能将纯数字转为数字类型
7.5.2parseInt()和parseFloat()的不同点:
parseInt()将字符串转为整数
parseFloat()将字符串转为 小数
7.6数字转为字符串
7.6.1 num.toString()
7.6.2 string()
7.7转为boolean()
7.7.1Boolean()
7.7.2 !!
var x = '';
var y;// undefined
var z = null;
var a = 0;
var b = 'zs'
console.log(Boolean(x));
console.log(Boolean(y));
console.log(Boolean(z));
console.log(Boolean(a));
console.log(Boolean(b));
console.log(!!x);
console.log(!!y);
console.log(!!z);
console.log(!!a);
console.log(!!b);
8.算术运算符:+-*/%
8.1 +:拼接 (字符串和字符串,字符串和数字相加)
8.2 +:求和
9.赋值运算符
var a=10; 将10赋值给a
a=20; 将a重新赋值为20
a+=20; 等价于 a=a+20 将左边的a和右边的数值求和,再重新赋值给a
a-=10 a=a-10
a*=10 a=a**10
10.关系运算符:> < >= <= == != === !==
关系运算符比较出的结果是布尔类型值
console.log(3>4); //false
console.log(3<4); //true
console.log(10=='10'); //只比较值,不比较类型
console.log(10==='10');//既比较值,也比较类型
11.逻辑运算符
&& || !
&& :与
console.log(3>5>4);// 错误
console.log(3>5&&5>4); // 一假即假 false
||: 或
console.log(4>2||3>6); //true 一真即真(整个表达式有一个真,结果就是真)
console.log(5==3||false||false); //false
!:非 (取反)
console.log(!true); //false
console.log(!false); //true
12.自增自减运算符
a++:在a的基础上加1
++a: 在a的基础加1
区别:单独使用时,都是自身加1
在惨与输出,赋值,等操作时,a++和++a是有区别的
1. a++ 先输出a,再自身加1
2. ++a 先加1,再输出