学习笔记 | ECMAScript
自学ECMAScript 过程中记录的笔记,便于复习
一只不爱学习的猪
这个作者很懒,什么都没留下…
展开
-
代码规范
1.命名规范 变量、函数 的命名 必须要有意义 变量 的名称一般用名词 函数 的名称一般用动词 2.变量规范 操作符的前后要有空格 var name = 'zs'; 5 + 6 3.注释规范 // 这里是注释 4.空格规范 if (true) { } for (var i = 0; i <= 100; i++) { } 5.换行规范 var arr = [1, 2, 3, 4]; if (a > b) { } fo原创 2020-06-29 17:57:05 · 105 阅读 · 0 评论 -
JavaScript的书写位置
一、 写在行内 <input type="button" value="按钮" onclick="alert('Hello World')" /> 二、写在script标签中 <head> <script> alert('Hello World!'); </script> </head> 三、 写在外部js文件中,在页面引入 <script src="main.js"></script> 注意点 引原创 2020-05-25 10:37:10 · 258 阅读 · 2 评论 -
变量
一、通过var 声明变量 二、变量的命名规则和规范 规则 - 必须遵守的,不遵守会报错 由字母、数字、下划线、$符号组成,不能以数字开头 不能是关键字和保留字,例如:for、while。 区分大小写 规范 - 建议遵守的,不遵守不会报错 变量名必须有意义 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。例如:userName、userPassword ...原创 2020-05-25 11:10:36 · 305 阅读 · 0 评论 -
简单数据类型
一、Number类型 数值字面量:数值的固定值的表示法 进制 十进制 var num = 9; 进行算数计算时,八进制和十六进制表示的数值最终都将被转换成十进制数值。 十六进制 var num = 0xA; 数字序列范围:0~9以及A~F 八进制 var num1 = 07; // 对应十进制的7 var num2 = 019; // 对应十进制的19 var num3 = 08; // 对应十进制的8 数字序列范围:0~7 如果字面值中的数值超原创 2020-05-25 11:40:38 · 374 阅读 · 0 评论 -
数据类型转换
快速查看数据类型: 黑色:字符串 蓝色:数值类型、布尔类型 灰色:undefined 和 null 一、转换成字符串类型 1. toString() var num = 5; console.log(num.toString()); 2. String() String()函数存在的意义:有些值没有toString(),这个时候可以使用String()。 比如:undefined和null 3. 拼接字符串方式 num + "",当 + 两边一个操作符是字符串类型,一个操作符是其它类型的时候,会先原创 2020-05-25 14:27:48 · 166 阅读 · 0 评论 -
算术运算符
一、一元运算符 只有一个操作数的运算符; ++ 自身加1; - - 自身减1; 前置++:先加一,再返回值 后置++:先返回值,后加一 二、逻辑运算符(布尔运算符) && 与: 两个操作数同时为true,结果为true,否则都是false || 或 :两个操作数有一个为true,结果为true,否则为false ! 非 : 取反 三、关系运算符(比较运算符) < > >= <= == != === !== ==与===的区别:==只进行值得比较,===原创 2020-06-24 17:18:47 · 280 阅读 · 0 评论 -
表达式和语句的简单理解
一、表达式 一个表达式可以产生一个值,有可能是运算、函数调用、有可能是字面量。表达式可以放在任何需要值的地方。 二、语句 语句可以理解为一个行为,循环语句和判断语句就是典型的语句。一个程序有很多个语句组成,一般情况下;分割一个一个的语句。 三、流程控制 程序的三种基本结构 顺序结构 从上到下执行的代码就是顺序结构 程序默认就是由上到下顺序执行的 分支结构 根据不同的情况,执行对应代码 循环结构 重复做一件事情 ...原创 2020-06-24 17:25:23 · 939 阅读 · 0 评论 -
循环结构中的while、do ... while、for 语句
一、while语句 基础语法: while (循环条件) { //循环体 } 当循环条件为true时,执行循环体, 当循环条件为false时,结束循环。 案例: 计算1-100之间所有数的和 // 初始化变量 var i = 1; var sum = 0; // 判断条件 while (i <= 100) { // 循环体 sum += i; // 自增 i++;原创 2020-06-29 15:13:17 · 424 阅读 · 0 评论 -
continue和break
break : 立即跳出整个循环,即循环结束,开始执行循环后面的内容(直接跳到大括号) continue : 立即跳出当前循环,继续下一次循环(跳到i++的地方) 案例: 求整数1~100的累加值,但要求碰到个位为3的数则停止累加(break) var sum = 0; for (var i = 1; i <= 100; i++) { if (i % 10 === 3) { // 如果找到个位为3的数字.原创 2020-06-29 17:09:13 · 414 阅读 · 0 评论 -
调试
过去调试JavaScript的方式 alert() console.log() 断点调试 断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。 调试步骤 浏览器中按F12-->sources-->找到需要调试的文件-->在程序的某一行设置断点 调试中的相关操作 Watch: 监视,通过watch可以监视变量的值的变化,非常的常用。 F10: 程原创 2020-06-29 18:05:23 · 140 阅读 · 0 评论 -
数组
为什么要学习数组 之前学习的数据类型,只能存储一个值(比如:Number/String。我们想存储班级中所有学生的姓名,此时就要用数组存储。 数组的概念 所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组。 一、数组的定义 数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整。 通过数组字面量创建数组: // 创建一个空数组 var arr1 = []; // 创建一个包含3个数值的数组,多个数组原创 2020-06-29 17:50:01 · 79 阅读 · 0 评论 -
函数
什么是函数 把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数,起个名字(函数名),在后续开发中可以反复调用 函数的作用就是封装一段代码,将来可以重复使用 一、函数的定义 1.函数声明 function 函数名() { // 函数体 } 2.函数表达式 var fn = function () { // 函数体 } 特点: 函数声明的时候,函数体并不会执行,只要当函数被调用的时候才会执行。 函数一般都用来干原创 2020-06-30 17:58:50 · 131 阅读 · 0 评论 -
作用域
作用域:变量可以起作用的范围 全局变量和局部变量 全局变量: 在任何地方都可以访问到的变量就是全局变量,对应全局作用域 局部变量: 只在固定的代码片段内可访问到的变量,最常见的例如函数内部。对应局部作用域(函数作用域) 不使用var声明的变量是全局变量,不推荐使用。 变量退出作用域之后会销毁,全局变量关闭网页或浏览器才会销毁。 块级作用域 任何一对花括号({和})中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可见的,我们称之为块级作用域。 在es5之前没有块级作用域的的概念,只有原创 2020-06-30 18:13:43 · 74 阅读 · 0 评论 -
预解析
JavaScript代码的执行是由浏览器中的JavaScript解析器来执行的。JavaScript解析器执行JavaScript代码的时候,分为两个过程:预解析过程和代码执行过程 预解析过程: 把变量的声明提升到当前作用域的最前面,只会提升声明,不会提升赋值。 把函数的声明提升到当前作用域的最前面,只会提升声明,不会提升调用。 先提升var,在提升function。 ...原创 2020-07-09 15:25:53 · 111 阅读 · 0 评论 -
对象
为什么要有对象? 如果函数参数很多的时候,可以使用对象进行简化。 事物的特征在对象中用属性来表示。 事物的行为在对象中用方法来表示。 对象创建方式 一、对象字面量 var o = { name: 'zs, age: 18, sex: true, sayHi: function () { console.log(this.name); } }; 二、 new Ob原创 2020-07-09 16:12:46 · 119 阅读 · 0 评论 -
对象的使用
一、遍历对象的属性 通过for..in语法可以遍历一个对象 var obj = {}; for (var i = 0; i < 10; i++) { obj[i] = i * 2; } for(var key in obj) { console.log(key + "==" + obj[key]); } 二、删除对象的属性 function fun() { this.name =原创 2020-07-09 16:18:54 · 138 阅读 · 0 评论 -
简单类型和复杂类型的区别
简单类型和复杂类型的区别 简单类型又叫做值类型,复杂类型又叫做引用类型。 值类型:简单数据类型,基本数据类型,在存储时,变量中存储的是值本身,因此叫做值类型。 引用类型:复杂数据类型,在存储是,变量中存储的仅仅是地址(引用),因此叫做引用数据类型。 堆和栈 堆栈空间分配区别: 1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。 2、堆(操作系统): 存储复杂类型(对象),一般由程序员分配释放, 若程序员不释放,由垃圾回收机制回收。 注意:JavaScript中没原创 2020-07-09 17:07:41 · 655 阅读 · 0 评论 -
通过MDN自学方法(Math对象、Date对象)
内置对象 JavaScript中的对象分为3种:内置对象、自定义对象、浏览器对象 JavaScript 提供多个内置对象:Math/Array/Date.... 对象只是带有属性和方法的特殊数据类型。 学习一个内置对象的使用,只要学会其常用的成员的使用(通过查文档学习) 可以通过MDN / W3C来查询 内置对象的方法很多,我们只需要知道内置对象提供的常用方法,使用的时候查询文档。 MDN Mozilla 开发者网络(MDN)提供有关开放网络技术(Open Web)的信息,包括 HTML、CSS 和万维网及原创 2020-07-10 14:15:23 · 774 阅读 · 0 评论 -
Array对象
一、创建数组对象的两种方式 字面量方式 new Array() // 1. 使用构造函数创建数组对象 // 创建了一个空数组 var arr = new Array(); // 创建了一个数组,里面存放了3个字符串 var arr = new Array('zs', 'ls', 'ww'); // 创建了一个数组,里面存放了4个数字 var arr = new Array(1, 2, 3, 4); 使用字面量创建数原创 2020-07-10 16:07:52 · 118 阅读 · 0 评论