1.1 JavaScript 历史
- JavaScript 是由布兰登·艾奇(Brendan Eich,1961~)开发的
- 神奇的大哥在1995年仅用了10天就完成了JavaScript设计
- 网景公司最初命名为LiveScript,后来在与Sun合作之后将其改名为JavaScript
1.2 JavaScript 是什么
- JavaScript是一种运行在客户端的脚本语言(Script是脚本的意思),简称JS,最早是在HTML(标准通用标记语言 下的一个应用)网页上使用,用来给HTML网页增加动态功能。
- 脚本语言:不需要编译,运行过程中有js解释器(js引擎)逐行来进行解释并执行
- 浏览器就是一种运行JS脚本语言的客户端,JS的解释器被称为JS引擎,为浏览器的一部分
- 现在也可基于Node.js技术进行服务器端编程
1.3 JavaScript 的作用
- 表单动态校验(密码强度检测)(js产生最初的目的)
- 网页特效
- 服务端开发(Node.js)
- 桌面程序(Electron)
- App(Cordova)
- 控制硬件-物联网(Ruff)
- 游戏开发(cocos2d-js)
1.4 JS 的组成
JavaScript 是由 ECMAScript,DOM 和 BOM 三者组成的。
- ECMAScript: 定义了JavaScript 的语法规范,描述了语言的基本语法和数据类型
- DOM (Document Object Model): 文档对象模型
- BOM (Browser Object Model): 浏览器对象模型
2. js 的三种书写方式
- 行内式
<input type="button" value="按钮" onclick="alert('hello world')" /> - 内嵌式
<body><script>alert('hello world')</script></body> - 外链式
<script src="main.js"></script>
3. js 定义变量
- 本质:变量是程序在内存中申请的一块用来存放数据的空间。
- 变量在使用时分为两步:
- 1.声明变量 : var age; //声明一个名称为age的变量
- var 变量名; 关键字: 代表后续是创建变量
- 2.赋值
var age = 100- age 变量名(盒子) ;
- = 赋值号,将它右侧的值, 存储到 左侧的变量中(不是等号) ;
- 100 值(放到盒子里边的东西),自定义, 可以是任何数据
-
- 输出
console.log(在浏览器控制台, 打印一些 我们想要的 值)
- 输出
- 例如:
console.log(100) console.log('梦想从这里起飞') // 打印文本时, 需要使用引号包裹(单引号双引号都可以)console.log("box")// 打印单词时, 需要使用引号包裹(单引号双引号都可以
4.规范与规则 (最好遵守,不遵守也不会报错)
-
= 左右的空格
-
命名尽量不用拼音
-
命名要见名知意(用英文名,不会百度)
-
行尾分号 推荐加上
-
字母, 数字, $符号 (数字, 不能开头)
-
不能使用关键字或者保留字 *和 - (中划线)有其他作用
关键字: var if function
保留字: 现在还没有特殊功能, 但将来某个版本可能会有 let
- 横杠连接(中划线) big-box ;(class类名可以, 变量名不行)下划线 big_box ;(class类名, 变量都可以)
5. 驼峰命名法
-
驼峰命名法 bigBox
-
两个单词拼接时, 第二个单词的首字母 大写
6. js值的类型
- Number 数字类型
所有的数字都是 Number类型 不区分整数、浮点数(带小数点的)、特殊值都是
- String 字符串类型
字符串就是引号内的所有数据 所有的字符串都是 String 类型
- Underfined underfined类型
underfined 本身就是一个数据,表示未定义,变量只声明不赋值的时候,默认值是underfined
- Boolean 布尔类型
只有 true 和 false 两个字面量的值,必须是小写字母
计算机内部储存:true 为 1 ,false 为 0
- null null类型
null本身就是一个数据 表示 空(空对象指针)
如果定义的变量准备在将来用于保存对象,最好该变量初始化为 null
- Object 对象类型
7. 数据类型检测
- 为什么要有数据检测类型?
js 语言是动态的,变量会随内部储存数据的变化而类型也发生变化
变量的数据类型与 内部储存数据 有关
- 使用typeof 的方法进行数据检测
检测方法:在typeof 后面加小括号,把要检测的数据放在小括号里
8. 数据类型转换(转换值 / 转字符串 / 转布尔)
- 转字符 ;
console.log(typeof Number(a)) - 转字符串 ;
console.log(typeof String(变量)) - 转布尔 ;
console.log(Boolean(变量))