javascript学习笔记
1.浏览器推荐chrome;编辑器推荐VS code,安装两个插件:中文插件和open in browser。
2.轻量级,脚本,嵌入式,对象模型;核心语法本身只包含基本语法构造和标准库(Array,Date,Math);要想实现复杂操作,还要依靠宿主环境提供API(浏览器,服务器操作系统)。强大:能操作很多宿主环境;但操作不了硬件,写不了OS。
3.历史:1995年,网景公司,布兰登艾奇。1996年CSS发布第一版;1997年DOM发布第一版;1999年IE部署XMLHttpRequest接口,允许js发出http请求;2001年JSON提出取代XML;2006年Jquery函数库诞生;2009年谷歌发布Angular框架;2013年Facebook发布React。
4.学的主要是ECMA组织在2011年发布的5.1版本标准:只规定基本语法,数据类型,关键字,API设计规范,解析引擎设计的参考标准,但与具体实现无关。
5.HTML提供网页结构和内容,CSS美化排版,JS给网页增加动态效果。
6.学习分为基本语法和宿主环境操作两部分。基本语言部分:语法规则,变量,类型,流程,函数以及内置标准库对象等;宿主环境以浏览器为例:a.浏览器控制类BOM:弹窗,跳转,缓存,历史等;b.DOM操作类:JS对HTML标准及属性的增删改查等;c.网络控制类:http,websocket等。
7.3种使用js代码的方式:a.直接嵌入html行内,比如button的onclick属性;b.用script标签括起来写;c.引入外部js文件,在script的src属性给出路径,注意这时候不要再写js代码了,写了没效果。
8.变量:var;支持一行声明多个变量,逗号分隔,分号结束;命名:数字,字母,_,$组成,不能以数字开头,区分大小写,尽可能使用驼峰法。
9.数据类型:数值型;字符串;布尔;undefined;null;对象。
10..lenth;console.log();typeof。
11.注释:单行//;多行:/* xxx */。
12.类型转换:a.转字符串:.toString()、String()、''+;b.转数值:Number()、parseInt()、parseFloat();c.转布尔:Boolean,非空字符串都转为true。
13.运算符:加减乘除余;一元运算符(++,--);逻辑与或非,&&优先于||;比较运算符(===,!==),注意JS是弱类型语言,所以引入了这两个特殊比较符;赋值运算符(+=等)。
14.优先级:括号,一元,算术,关系,相等,逻辑,赋值。
15.流程:a.判断结构:if-else,switch-case(只能测试相等);b.循环结构:while,do-while,for,break,continue。
16.数组:数组放置任意类型,不要求相同;支持数组嵌套,即多维数组;字面量创建、构造函数方式创建数组;只介绍了.length。
17.函数:关键字声明法、表达式声明法;注意形参直接给出变量名,不需要var;返回值(没有返回值或返回值为空,则接收值是undefined);匿名函数或立即执行函数或自调用匿名函数:(function(){})(),可以防止污染全局变量,封装一个局部作用域。引出闭包的概念。
18.函数也是一种数据类型;对象类型是广义的,包含数组、函数;函数要执行一定要带();回调:函数作为参数,传入其他函数内执行;闭包:函数内部定义的函数作为返回值返回。
19.作用域:不使用var声明的就是全局变量。
20.变量提升:代码编译阶段会把所有变量、函数都先声明,在执行阶段再执行赋值。函数和变量重名,函数定义优先;但变量的赋值会覆盖函数的声明。
21.作用域链:函数可以制造作用域;往上查找。

浙公网安备 33010602011771号