目录
3.4 boolean类型(布尔类型)、undefined和null
1.JavaScript(js)介绍
JavaScript的组成:
- ECMAScript 标准——js的基本的语法(核心)
- DOM——Document Object Model 文档对象模型---操作页面的元素
- BOM——Browser Object Model 浏览器对象模型---操作的是浏览器
JavaScript是什么:(运行在客户端的脚本语言)
- 是一门脚本语言、解释性语言、动态类型的语言、基于对象的语言、 弱类型语言
- 原名是LiveScript
PS 编译语言:需要把代码翻译成二进制语言,才能执行(如C、C++)
脚本语言:不需要编译,直接执行(如t-sql、cmd)
JavaScript最初的目的:
解决用户和浏览器之间的交互问题
JavaScript现在的意义(应用场景):
- 网页特效
- 服务器开发(Node.js)
- 命令行工具(Node.js)
- 桌面程序(Electron)
- APP(Cordova)
- 控制硬件-物联网(Ruff)
- 游戏开发(cocos2d-js)
JavaScript与HTML、CSS的区别:
- HTML:提供网页的结构、网页中的内容
- CSS:美化网页
- JavaScript:控制网页内容,给网页增加动态的效果
JavaScript 使用:
1.使用 <script> 标签,在 HTML 页面中插入 JavaScript
- <script> 和 </script> 会告诉 JavaScript 在何处开始和结束。
- 浏览器会解释并执行位于 <script> 和 </script> 之间的 JavaScript。
<script>
alert("My First JavaScript");
</script>
2.<head> 或 <body> 中的 JavaScript
- 可以在 HTML 文档中放入不限数量的脚本。
- 脚本可位于 HTML 的 <body> 或 <head> 部分中,或者同时存在于两个部分中。
- 通常的做法是把函数放入 <head> 部分中,或者放在页面底部(<body>部分的最后)。这样就可以把它们安置到同一处位置,不会干扰页面的内容。
- 放置位置不同的区别:(根据经验,一般把函数、方法放头部)
head:按照从上到下的顺序加载的
body:在生成页面的时候完成加载
3.外部的 JavaScript(外部脚本不能包含 <script> 标签,如下图)
- 把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。
- 外部 JavaScript 文件的文件扩展名是 .js。
- 使用外部文件,<script src="要使用的.js文件"></script>
js的输出:
eg.
写js代码要注意的问题:
- 在一对script标签中有错误的js代码,那么该错误后面的js代码不会执行
- 如果第一对script标签里有错,不会影响后面的script标签中js代码的执行
- <script type="text/javascript"(或language="JavaScript")></script>是标准写法,但目前的html页面中,type、language都可省略,原因:html遵循h5标准(<!DOCTYPE html>)
- 可能出现<script type="text/javascript" language="JavaScript"></script>这种写法,有人这么写是为了解决浏览器解析js代码的时候没有意外
- 注释:单行注释:// (一般用在一行代码);多行注释:/**/(一般用在函数或一段代码)
2.变量
2.1 变量的引入、声明及初始化
- 变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据
- 使用变量可以方便的获取或者修改内存中的数据
- js中存储数据使用变量
- js中声明变量都用var
- js中的字符串类型的值都用双引号或单引号
1.变量声明:
声明一个变量:var 变量名字;
声明多个变量:var x,y,z;
2.变量初始化:(变量声明的同时并赋值)
存储一个数字10:var number=10;
存储一个名字:var name="candy";
存储一个对象:var obj=new Object();
3.声明多个变量依次赋值
var x,y,z;
x=10; y=20; z=30;
4.声明多个变量同时赋值
var x=10,y=20,z=30;
5.变量交换
var num1=10,num2=20;
第一个思路:借助第三方
var temp=num1;//把num1取出放入temp
num1=num2;//把num2取出放入num1
num2=temp;//把temp取出放入num2
第二个思路:适用于数字的交换
num1=num1+num2;//30
num2=num1-num2;//num2=30-20=10
num1=num1-num2;//num1=30-10=20
扩展的变量交换:(位运算)
num1=num1^num2;
num2=num1^num2;
num1=num1^num2;
2.2 变量的命名规范
- 变量名要有意义
- 变量名以字母、$、下划线、数字组成,不能以数字开头
- 变量名一般小写(如:num)
- (驼峰命名法)变量名如果是多个单词,第一个单词首字母是小写的,后面所有单词的首字母都是大写的(如:userName)
- 不能使用关键字和保留字(如:while、for)
- 区分大小写
3.数据类型
- number:数字类型
- string:字符串类型
- boolean:布尔类型
- null:空类型
- object:对象
- undefined:未定义
3.1 获取变量的数据类型(typeof)
3.2 number类型:数字类型(整数和小数)
所有数字都属于number类型
在数字前加“-”,就为负数
3.3 string类型:字符串类型
'abc' "abc"(单引号,双引号都行)
js中的转义符:\b 退格 \n 换行 \r 回车 \t 制表符 \' 单引号 \" 双引号 \\ 反斜杠
3.4 boolean类型(布尔类型)、undefined和null
1.boolean两个值:true(非0)、false(0)
2.null表示一个对象指向为空,var nul=null;
3.undefined表示一个声明了没有赋值的变量,变量只声明的时候值默认是undefined【如果一个变量的结果是undefined和一个数字进行计算,结果为NaN(not a number,与任何值都不相等,包括他本身)】
3.5 数据类型转换
3.5.1 其他类型转数字类型
number类型可以不用加单引号/双引号
1.parseInt();//转整数
2.parseFloat();//转小数
3.Number();//转数字
如果要转换的字符串中有一个不是数值的字符,就返回NaN,比上面两种严格,上面两种是能转则转
3.5.2 其他类型转字符串类型
1.toString();//如果变量有意义,用这种方式转换,平时用这个
2.String();//如果变量没意义,用这种方式转换
变量有无意义:
比如null、undefined就是无意义的,这时使用两者的差别就会体现
(这只是一个注意,并不会真的去这样转换)
3.5.3 其他类型转布尔类型
1.Boolean(值);
4.运算符
4.1 算术运算符
- 前置++(--):先自加(自减),后用 ,如 ++y;
- 后置++(--):先用,后自加(自减),如 y++;
4.2 赋值运算符
4.3 逻辑运算符
- && 逻辑与:两个操作数同为true,才为true
- || 逻辑或:两个操作数有一个为true,就为true
- ! 逻辑非:取反
- 逻辑运算表达式的结果是boolean类型
4.4 比较(关系)运算符
- ==与===的区别:==只进行值比较,===类型和值同时相等,才相等
- 关系运算表达式的结果是boolean类型
4.5 条件运算符
4.6 运算符优先级
- () 优先级最高
- 一元运算符 ++ -- !
- 算术运算符 * / % + -
- 比较运算符 > >= < <=
- 相等运算符 == != === !==
- 逻辑运算符 && ||
- 赋值运算符