js基础
javascript是什么
javascript 是一种运行在客户端的脚本语言script
浏览器内核分为两部分渲染引擎和js引擎
渲染引擎:用来解析HTML与CSS,俗称内核,比如chrome浏览器的blink
js引擎:我们称为js解释器用来读取网页中的javascript代码,对其处理后运行,比较经典就是chrome浏览器的v8;
javascript组成
JavaScript由三部分组成
1,ECMAScript(ECMA欧洲计算机制造联合会)是javascript的核心,ECMAScript是一套JS语言设计标准,描述 JavaScript 语言基本语法和数据类型,以及其它实现标准。
2,BOM 浏览器对象模型
一套提供给程序员 操作浏览器功能 的API
alert()
通过BOM可以操作浏览器窗口,比如:弹出框、控制浏览器跳转、获取分辨率等
3,DOM 文档对象模型
一套提供给程序员 操作页面元素 的API
通过DOM提供的API可以对页面上的各种元素进行操作(大小、位置、颜色等)
解释型语言 和 编译型语言
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。程序语言翻译成机器语言的工具,被称为编译器
编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。
编译器是在代码执行之前进行编译,生成中间代码文件。
解释器是在运行时进行及时解释,并立即执行。(当编译器以解释方式运行的时候,也称之为解释器)
JS代码书写位置
联想:CSS 样式的书写方式?
JS的书写位置如样式表一样有3种书写位置,分别为 行内、内部、外部
为什么要用变量
有些数据,我们可以把它存储起来,方便以后使用。
什么是变量?
- 通俗:变量就是一个装东西的盒子
- 概念:变量是用于存放数据的容器,我们通过变量名 获取数据,甚至数据可以修改
- 本质:变量是程序在 内存 中申请的一块用来存放数据的 空间
**变量使用注意点 **
变量使用注意点 | |
---|---|
只声明 不赋值 | var age ; console.log (age); // undefined |
不声明 不赋值 直接使用 | console.log(age) ; // 报错 |
不声明 只赋值 | age = 10; console.log(age); // 10 不推荐这样写 |
变量命名规则和规范
-
规则 必须遵守的,不遵守的话 JS引擎 发现并报错
规则 相当于人类社会的法律,犯法就坐牢
- 由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号( $ )组成,如:
var usrAge, num01, _name
- 区分大小写
强调:JS 严格区分大小写
,var app;
和var App;
是两个变量 - 不能 以数字开头
- 不能 是关键字、保留字 和 代码符号,例如:var、for、while、&
- 由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号( $ )组成,如:
单行注释
- 用来注释单行文字( 快捷键 ctrl + / )
// 我是一行文字,不想被 JS引擎 执行,所以 注释起来
多行注释
- 用来注释多行文字( 快捷键 alt + shift + a )
/*
获取用户年龄和姓名
并通过提示框显示出来
*/
数据类型简介
什么是数据类型?
比如 名字 “张三” 比如 年龄 18 这些数据的类别型号是不一样的。 所以我们程序的数据是分不同种类的,不同数据他们存储和使用方式是不一样的。
简单数据类型
JavaScript 中的数据类型 分两类:简单数据类型 和 复杂数据类型,我们今天讲 常用的简单数据类型
简单数据类型 | 说明 | 默认值 |
---|---|---|
Number | 数值类型,包含 整型值和浮点型值,如 21、0.21 | 0 |
Boolean | 布尔值类型,如 true 、false,等价于 1 和 0 | false |
String | 字符串类型,如 “张三” 注意咱们js 里面,字符串都带引号 | “” |
Undefined | var a; 声明了变量a 但是没有给值,此时 a = undefined | undefined |
null | 空 |
转换为字符串
方式 | 说明 | 案例 |
---|---|---|
toString() | 把变量转成字符串 | var num= 1; alert(num.toString()); |
String() 强制转换 | 把特殊值转成字符串 | String(undefined); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var str = 215 + “我是字符串”; |
转换为数值(重点)
我们前面说过,表单获取过来的数据默认是字符型,我们需要转换为数值型。
方式 | 说明 | 案例 |
---|---|---|
parseInt(string) 函数 | 将string类型参数转成整数 | parseInt(‘78’) |
parseFloat(string) 函数 | 将string类型参数转成浮点数 | parseFloat(‘78.21’) |
Number() 强制转换函数 | ||
js 隐式转换 | 利用算术运算隐式转换 | - * / |
parseInt(string) 函数
概念: 将 数值字符串 转成 整数数值
var numAge = parseInt("912"); // 912
执行规则:
//规则1.永远记住它是取整函数
var numLove = parseInt(18.08); // 18
var numLove = parseInt(18.88); // 18
//规则2.如果第一个字符不是数字符号或者负号,返回NaN
var numLove = parseInt("aboard211"); // NaN
//规则3.如果第一个字符是数字,则继续解析直至字符串解析完毕 或者 遇到一个非数字符号为止
var numLove = parseInt("520littlecat"); // 520
parseFloat(string)函数
概念: 将 浮点数值字符串 转成 浮点数值
var num = parseFloat("12.3abc"); // 12.3
注意:parseFloat函数如果用来转换 整型数值字符串,则也是返回 整型数值
var num = parseFloat("12"); // 12,而不是 12.0
Number() 强制转换函数
- 里面如果只要出现非数字字符或者undefined, 则就返回 NaN
- 如果该值是空字符串、数字0、或null、false 则返回 0 如果是 true 则返回 1
转换为Boolean值
方式 | 说明 | 案例 |
---|---|---|
Boolean()函数 | 将布尔字符串转成布尔值 | Boolean(‘true’); |
- 代表 空、否定的值 会被转换为 false 有五种 “ ‘’、0、NaN、null、undefined
- 其余任何值都会被转换为 true
关键字、保留字、标识符
-
标识符:就是指开发人员为 变量、属性、函数、参数 取的名字。
标识符不能是 `关键字` 或 `保留字`
-
关键字:是指 JS本身已经使用了,不能再用它们充当变量名啊方法名啊什么的。
包括:break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with 等。 -
保留字:实际上就是预留的“关键字”,意思是现在虽然现在还不是关键字,但是未来可能会成为关键字的,你一样是不能使用它们当变量名或方法名。
包括:boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile 等。 -
注意:如果将保留字用作变量名或函数名,那么除非将来的浏览器实现了该保留字,否则很可能收不到任何错误消息。当浏览器将其实现后,该单词将被看做关键字,如此将出现关键字错误。