1.js介绍:
弱类型脚本语言,页面交互不需要编译,解析性语言
liveScript(原名)--> 蹭热度jave javescript
2.js站在巨人的肩膀上:
c语言 语法
java 变量、数据存储的原理
scheme 把函数作为一等公民
self 原型 prototype
3.js的组成:
ECMAscript 核心输出
DOM 文档对象模型 dom节点
BOM 浏览器对象模型
4.输出:
1.alert("hello word"); 弹出框 windows.alert();
提示:阻止后面程序的运行
2.console.log("fff"); 在浏览器控制台打印信息 调试程序
3.document.write("xieru"); 在浏览器打印信息
5. js放置的位置:
1.js代码 在标签内部直接编写
2: js代码放在script标签里面 script标签尽量放在body里面。
3: 用script标签引入一个外部的js文件
扩展:
console.wran() 警告输出
console.error() 报错输出
prompt() windows.prompt()
变量:
1.常量
1,2,3,4,等
2. 变量
在程序运行过程中,有可能发生改变的量,变量
变量 -> 包 包放东西
变量 -》 存储一些数据、方便对数据进行操作。
变量一定要先定义再使用
3.如何定义变量
当变量声明之后没有赋值。undefined
var a = 10; 把右侧的值赋给左侧的变量
console.log(a);
4. 变量的命名规则
1:不能使用关键字和保留字。
2、js中的标识符只能由 字母、数字、下划线、$ 组成(不建议用中文)
3、标识符 不能用 数字 开头
命名规范 (扩展):
驼峰式命名法:
小驼峰 qianFengJiaoYu (lastIndexOf()) backgroundColor fontSize。。。
大驼峰 QianFengJiaoYu
匈牙利命名法:
iNum 命名一个整数类型的变量
lNum 命名一个小数类型的变量
cChar 命名一个字符类型的变量
sStr 命名一个字符串类型的变量 (str)
5.js书写规范:
1:每行代码的最后要添加分号
2:代码一定要在英文半角状态下输入
3: js里面是区分大小写!!!!!
6.对输出注意事项:
1:输出或者使用变量的时候,变量是不能添加"";
2:如果对纯数字输出,不需要添加引号,如果给纯数字添加引号则输出的是字符
3:如果输出的是字符的情况下,必须添加引号。
4:如果打印的是 变量和字符串的组合的情况下:必须使用 + 做拼接。
5:如果一个纯数字和一个数字字符串相+ 则是拼接。
js 数据类型
1. number
2.string
3. boolean (布尔值 true或 false)
4. null
5. undefined
复杂数据类型(引用类型)
object
function
typeof 监测变量的的数据类型
运算符表达式
运算符: 在一个表达式里面 起到一个运算作用的符号
表达式: 一个在运算过程中能产生结构的式子。
1.算术运算符
1. 双目运算符
+ - * / %(取余、取模)
+ :
如果符号两侧都为纯数字 做运算
一侧为字符串,则不运算,而是字符串拼接
注:除+以外 , 其他算术运算符 都有 ”隐式类型转换“
注:如果一个表达式例如 "a" * 3 结构为NaN not a number
console.log(typeof NaN) //number
console.log(typeof Infinity) //number
2.单目运算符
++ --
num++ num = num + 1;
k++ 和 ++k 区别
k++ 先赋值后运算 ++k 先运算后赋值
2.关系运算符
> < == >= <= != ===全等于 !==全不等于
表达式返回的都是 boolean;
1:符号两侧都是纯数字的时候 直接比较大小
2:如果符号一侧为数字字符串时候,eg 1 < "2"; true; 把数字字符串做隐式类型转换。
3:=== 不但比较结果,比较类型。
4:如果运算符两侧都为字符串的时候,把每个字符串首字符转成ascll码 A-- 65; a--97
3.逻辑运算符
&& || !
逻辑运算符面试题:
var num = 10;
console.log(3 > 10 && num++);
console.log(num); //10
如果&& 遇到false 后面的表达式不再执行
如果|| 遇到true 后面的表达式不再执行
4.条件运算符
表达式1 ? 表达式2 : 表达式3
执行逻辑:
如果表达式1 为 true 返回的是 表达式2结果 否则返回的是 表达式3的结果。
面试题: console.log( 'hello' + 3 > 10 ? "a" : "b" );
5.赋值运算符
= += -= *= /= %=
数据类型的转换
+ 不能产生隐式类型的转换
- * / % ++ -- 隐式类型转换
关系运算符 -》 隐式类型的转换
1. 强制类型转换:
Number(); 转成数值型
Number("aaa") //NaN
Number("11111a") //NaN
Number(true) //1
Number(false) //0
parseInt("13.33333") //13
parseInt('12.33aaaaaa') //12
parseInt('12aaaaaa') //12
parseFloat() 转成浮点型
String()