学习web前端开发一个月思考总结
经过半个多月的学习 js基础课程已经学习完毕 昨天也用一天的时间看完了JQ的基础课 老师说在出现三大框架之前JQ非常盛行 我也体会到JQ相比于直接写JS要简单方便很多 而且运行速度也更快 但即使这么好用 还是会被速度更快 性能更完善的框架代替 技术的发展与迭代还是很快的 但基础知识非常重要 各种框架的使用都离不开JS的基础知识 框架只是让JS更快更灵活 是一种方便开发者的工具 作为一名开发者 基础扎实 保持学习 无论如何更新迭代都可以跟的上技术的脚步
以下为js基础学习笔记:
1变量
js里两个等号表示相等,三个等号表示绝对相等
赋值
var name=“zhangsan”;
var name=1,age=2;(建议分开写)
1.1语法
1、区分大小写
2、命名规则:以字母、下划线、或$符号开头,由以上和数字组成,不能把保留字和关键字作为标识符
1.2数据类型
js数据类型分为5种基本数据类型和复杂数据类型
基本数据:
console.log(typeof )判断数据类型
1.2.1 Undefined:
使用了var声明但没有赋值,系统默认赋值undefined;
1.2.2 Null:
undefined派生与null,两者几乎相等,null是一个空对象值;
两者对比:null表示没有对象,本不该有值;undefined表示缺少对象,本该有值但是没有找到。
console.log(typeof undefined) //"undefined"
console.log(typeof null) //"object"null是objec的一种
console.log(null==undefined) //true 两者默认转换为false 所以两者相等输出true
console.log(null===undefined) //false 两者不同类型 所以输出false
1.2.3 Boolean(布尔类型返回布尔值):只有两种值true和fales;
0、null、undefined和空值返回false;非空和非零值返回true。
var myBoolean = new Boolean("") //false
var myBoolean = new Boolean("abc") //true
1.2.4 Number:
字面量:所见即所得
十进制没有前缀
八进制前缀0o
十六进制前缀0x
特例 NAN==NAN // false可通过console.log(isNAN( ))来判断
parseInt("")可将字符串转换为数字
parseFloat("")可将字符串转换为浮点数
1.2.5 String:
unicode所有字符编码库; GBK(GB231)字库是中文字符库; 字母的返回值通过ASCⅡ码库查找
字符串用单引号或双引号包裹 var a=“123abc”
JavaScript 转义序列
序列 代表字符
\0 Null字符(\u0000)
\b 退格符(\u0008)
\t 水平制表符(\u0009)
\n 换行符(\u000A)
\v 垂直制表符(\u000B)
\f 换页符(\u000C)
\r 回车符(\u000D)
" 双引号(\u0022)
’ 撇号或单引号(\u0027)
\ \ 反斜杠(\u005C)
正常字符前加反斜杠""会被js忽略
变量.tostring()可以将数值、布尔值、对象、字符串的数据类型转换为字符串
复杂:
1.2.6 例 Object类型(对象):
对象有方法和行为,行为用函数表示
两种创建方法,没有本质区别
var obj1={}
var obj2=new object()
1.3 布尔操作符
1.3.1 逻辑非(!)
逻辑取反 在值的最前面写"!" 返回值为布尔值
1.3.2 逻辑与(&&)
都是布尔值时 两个值全为ture才会返回ture
第一个布尔值是false则返回第一个值(第二个值会被短路操作)
第一个是true返回第二个值
1.3.3 逻辑或(||)
都是布尔值时 两个值有一个ture则返回ture
第一个布尔值是ture则返回第一个值同时对第二个值进行短路操作
第一个是false 则返回第二个值
1.3.4 其他常用操作符
加(可以将字符串连接起来)减乘除、取余%、逗号操作符
三目运算符:
var a=1 ;var b=(a==1)?2:3;//如果a==1为ture则返回2,否则返回3
赋值操作符:
var a=1;
a+=3;//相当于a=a+3;
a*=3;//相当于a=a*3;
关系操作符:等于“”、不等于“!”、恒等于“=”、不恒等“!”
2 语句与函数
2.1 条件语句(if、else if、switch)
2.1.1 if语句:
var hour=1;
if(hour<18){
greeting="Good day";
}else{
greeting="Good evening";
}
console.log(greeting);
2.1.2 switch语句:
switch (new Date().getDay()) {
case 0:
day = "星期天";
break;
case 1:
day = "星期一";
break;
case 2:
day = "星期二";
break;
case 3: