了解JS
作者:布兰登·艾奇;
是一种运行在客户端的脚本语言;
脚本语言:不需要编译,运行过程中由JS解释器(JS引擎)逐行来解释并且执行(边解释边执行);
基于对象:不仅可以创建对象,也可以使用现有的对象;
动态性:采用事件驱动的脚本语言,不需要经过web服务器就可以对用户的输入做出响应;
跨平台性:不需要依赖操作系统,只需要浏览器的支持;
弱类型(重点):采用的是弱类型的变量类型,对使用的数据没有做出严格要求;
作用:表单动态验证 | 网页特效 | 服务端开发(Node.js) | App | 游戏开发;
JS的组成:ECMAScript(JS的语法) \ DOM(文档对象模型) \ BOM(浏览器对象模型);
三种书写位置:
行内式:注意单双引号的使用,在HTML中推荐使用双引号,js推荐使用单引号(可读性差);
内嵌式;
外部 - 引入外部.js文件 script标签中间不可写代码;
输入输出语句:
alert('浏览器弹出警示框!');
console.log('浏览器控制台打印输出信息');
document.write('浏览器将内容写到HTML文档中');
prompt('浏览器弹出输入框,用户可以输入');
变量:
字面量:
一般固定值称为字面量,如3.14;
数字字面量:可以是小数或者整数,还可以是科学计数(e);
字符串字面量:可以使用单双引号,区分大小写;
表达式字面量:用于计算;
数组字面量:定义一个数组;
对象字面量
函数字面量
变量:
是程序在内存中申请一块用来存储数据的空间;
声明变量; 赋值;
变量的初始化:声明一个变量并且赋值;
变量语法扩展 一个变量被重新赋值之后,它原有的值会被覆盖,变量值以最后一次赋的值为准;
声明多个变量;
声明变量的特殊情况;
变量的命名规范:
由字母(A-Z/a-z) 数字(0-9) 下划线(_) 美元符号($)
严格区分大小写
不能以数字开头
不能是关键字和保留字
变量名必须要有意义(尽量不要使用name命名)
遵守驼峰命名
JS运算符
【算术运算符】---用于对数字执行算数运算: +(加) -(减) *(乘) /(除) %(取余) ++(递加) --(递减)
【赋值运算符】---向JS变量赋值: = +=(x+=y x=x+y) -= *= /= %=
【比较运算符】:==(等于) ===(全等于 等值等型) !=(不相等) !==(不等值或不等型) <(小于) >(大于) >=(大于或等于) <=(小于或等于) ?(三元运算符)
逻辑运算符:&&(与) ||(或)
数据类型
基本数据类型:数字类型(number) 字符串类型(string) 布尔类型(boolean) null undefined
引用数据类型:数组(Array) 对象(Object) 函数(Function)
基本数据类型和引用数据类型的区别
声明变量时的存储分配 :
原始值:存储在栈中的简单的数据段,他们的值直接存储在变量访问的位置。
引用值:存储在堆中对象,存储在变量处的值是一个指针,指向存储对象的内存地址。
不同的内存分配机制也带来了不同访问机制。
复制变量时的不同。