1、对js的理解
a、由网景公司(Netscape)开发
b、这是一个跨平台的脚本语言
c、应用在网页中,用来操作浏览器及网页内容
d、javascript最初的设计是为了检验HTML表单输入的正确性
2、js的三大组成部分
a、ECMAScript:一种规范
b、BOM(browser) object Model:浏览器对象模型
c、DOM(document):文档对象模型
3、js引入的方式
a、<div onclick="alert(1)"></div>
b、写在<script></script>
<script>
alert(1)
</script>
c、写在js文件
<script src="js/index.js"></script>
4、js的注释
a、单行注释://
b、多行注释:/**/
5、js中变量的命名规则
a、规则:数字、字母、下划线、$符号,其中不能以数字开头
b、声明:不可以使用关键字和保留字
c、建议:见名知意
d、命名方法:驼峰命名法、常规命名(_连接)、匈牙利命名
6、js中的数据类型
js的数据类型分为:基本数据类型、复杂数据类型
基本数据类型:number string boolean null undefined
复杂数据类型:object
7、null 、 true false转换成数字的值
a、false如果转换成一个数字的话是0
b、true如果转换成一个数字的话就是1
c、null如果转换成一个数字的话就是0
8、js中的类型转换
a、js中的类型转换分为:强制类型转换 隐式类型转换
b、强制类型转换:Number parseInt parseFloat
c、隐式类型转换:
算数运算符:- * / %
赋值运算符:-= *= /= %=
关系运算符:== !=
9、对NaN的理解
a、Not a Number 不是一个数字
b、NaN仅仅代表不是数字,自身和自身都不相等(NaN != NaN)
c、如何判断NaN:isNaN===>如果是NaN,返回true,否则返回false
d、NaN的数据类型是number
10、i++与++i之间的区别
a、i++: 先使用,在加1
b、++i; 先加1,在使用
11、javascript中能转换成false的值
0 '' null undefined false
12、javascript里面的+号
a、任何字符串与加号后面的数据进行相加都会变成链接
b、如果与undefined相加得出的值是NaN
13、if判断接受的数据类型
非布尔类型的条件判断
if( 2 ) number类型 ------>所有的非0数字代表 true , 0代表false
if("abc") string类型 -------> 所有的非空字符串都代表 true, "" 代表false
if(obj) object类型 -------->所有的非null的对象都代表true,null代表false
if(undefined) -------> 代表false
if(NaN) --------> 代表false
if( function ) ---------> 如果函数存在,代表true
14、if语句的优化
a、把次数多的条件和执行结果放到最前面
b、减少第一次无用的判断,可以用嵌套判断
c、判断语句禁止出现三次嵌套
15、对switch的理解
a、switch的括号里面放的是一个变量
b、case相对应的值是关于这个变量的一个值
c、switch里面的这个变量和case里面这个变量不会进行隐式类型的一个转换,而是进行了恒等比较。所以一定要注意这个变量和这个case里面的值是不是一个类型
d、关于switch里面的case会有一个穿透效果,这个效果有的时候会给我们带来好处,有的时候会给我们带来坏处,如果不需要这种穿透效果的时候加break
e、swicth里面如果这个变量没有匹配到case里面这个值,那么就需要返回一个信息。所以在case的末尾一定要加上一个default;这样既给用户的体验比较完美,另一方面对代码的今后维护也有很大的帮助
f、比较的值是固定值
16、if和swicth的应用场景
if :
a、具体的值进行判断
b、区间的判断
c、对运算的结果是boolean类型表达式进行判断 true flash
switch:
a、对具体的值进行判断
b、值的个数是固定的
对于几个固定的值判断,建议使用switch 语句。因为switch 语句会将具体的答案都加载进内存,效率相对高一点
基于代码的可读性:如果条件较少时,if-else容易阅读,而条件较多时switch更容易阅读
17、目前所了解的转义字符
a、\"
b、\'
c、\n 表示换行
d、\t tab键
18、三元表达式的语法
条件 ? 值1 : 值2;
19、循环的概念和意义
a、什么是循环?
重复执行某个动作或者某些语句(代码块)
b、循环有什么作用?
简单代码,处理重复的动作
一般用于遍历数组、json对象、元素集合
20、while需要注意的地方
a、初始化一个变量
b、while()括号里面是判断条件
c、除了在执行相应的代码以外还要在代码块中改变循环体的条件变量===》在{}里面改变