Day01笔记
一、js是什么
javascript是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
二、js的历史
1994年网景公司发布了Navigator(导航者)浏览器,当时浏览器只能浏览页面,无法进行互动。
1995年网景公司雇佣34岁的程序员布兰登·爱奇,用了10天的时间设计出JavaScript语言(第一版)。
(1)借鉴C语言的基本语法;
(2)借鉴Java语言的数据类型和内存管理;
(3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
(4)借鉴Self语言,使用基于原型(prototype)的继承机制。
1996年8月微软模仿JavaScript开发了一种相近的语言,取名为JScript。
1996年11月,网景公司决定将JavaScript提交给国际标准化组织ECMA,希望JavaScript成为国际标准,以此抵抗微软。
1997年,ECMA组织发布了ECMAScript1.0版,并定为浏览器脚本语言的标准。
三、JavaScript和ECMAScript的关系
ECMAScript是JavaScript、JScript等语言的标准,而JavaScript和JScript是ECMAScript的实现。
ECMAScript定义了JavaScript的语法规范,描述了语言的基本语法和数据类型。
四、JavaScript的组成
BOM:浏览器对象模型,有一套成熟的可以操作浏览器的API,通过BOM可以操作浏览器,比如:弹出框、浏览器跳转等;
DOM:文档对象模型,有一套成熟的可以操作浏览器的API,通过DOM可以操作页面中的元素,比如:增加个div,给div换位置等。
JS就是通过固定的语法去操作浏览器和标签结构来实现网页上的各种效果,js代码操作BOM浏览器对象和DOM文档对象实现网页效果。
五、JavaScript的应用
1、客户端开发
移动端开发
小程序开发
2、服务端开发
3、桌面应用程序开发
六、JavaScript的书写方式
1、行内式(内联)
<!--div是标签--onclick属性,意为:点击---->
<!--当点击这个盒子时,触发js行为-->
<div onclick="alert('显示内容')"></div>
<!--a标记特殊,在href属性值中写 javascript: 后面再写js行为-->
<!--当点击a超链接时,触发js行为-->
<a href="javascript:alert('显示内容')"></a>
2、内嵌式
<body>
<!--script标记一般设在</body>前-->
<script>
alert('显示内容');
</script>
</body>
3、外链式
<script src="js文件路径及js文件名全称"></script>
七、java语句
1、弹窗
// alert:弹窗
alert('显示内容');
// 当括号内的内容为变量时,不用添加引号
alert(变量名称);
2、控制台输出语句
console.log('控制台打印内容');
// 当括号内需要打印的内容为变量时,不用加单引号。
console.log(变量名称);
3、声明一个变量
var age;
age = 10;
// 缩写:
var age = 10;
4、检查数据类型
// 两种写法:
typeof name/typeof (name)
console.log (typeof name);
八、变量
定义:变量是用来存储数据的容器,实质上是内存中的存储单元。
// 定义一个变量,变量申明语句。
// 作用:创建一个名为age的变量。
// age就是变量名,自定义由字母、数字、下划线_、$组成。
/*
变量命名规则:
1、不能以数字开头;
2、语义化(有意义);
3、驼峰命名,当由两个单词构成时,连续书写,第二个单词首字母大写;
4、不能是关键字或保留字。
*/
var age;
// 变量赋值语句。
// 作用:给变量age赋值为10.
var age;
age = 10;
// 缩写形式
var age = 10;
九、关键字和保留字
JavaScript一共有两种特殊的单词集体们,分别是关键字、保留字。它们是不可以用作变量命名和函数命名的。如果你把关键字用作变量名或函数名,可能得到诸如“Identifier Expected”的控制台报错
ECMAScript关键字
在语言中有特殊的含义成为语法的一部分。
ECMAScript保留字
保留字在某种意义上是为将来的关键字而保留的单词。
十、数据类型
存储不同数据的类型分为:基本数据类型和复杂数据类型。
基本数据类型
1、数值类型 number
值:1、2、3、4...
NaN(not a number) 非数值
2、字符串类型 string
值必须放在引号中(单引号和双引号都可以)
var text = "hello";
var text = 'hello';
3、布尔类型 bollean
值:true真 false假
4、未定义的 undefined
值:undefined
5、空类型 null (历史遗留问题)
值:null
复杂数据类型(后面会学习)
- 对象类型(object)
- 函数类型(function)
- 。。。
十一、检查数据类型
// 语法:
console.log(typeof name);
console.log(typeof (name));
4、未定义的 undefined
值:undefined
5、空类型 null (历史遗留问题)
值:null
**复杂数据类型**(后面会学习)
1. 对象类型(object)
2. 函数类型(function)
3. 。。。
### 十一、检查数据类型
```js
// 语法:
console.log(typeof name);
console.log(typeof (name));
在浏览器控制台console中可以查看变量值是什么类型的。