HTML/CSS标记语言--描述类语言
JS 脚本语言--编程类语言
浏览器分成两大部分 渲染引擎和JS 引擎
浏览器本身并不会执行JS代码,而是通过内置JavaScript引擎(解释器)来执行JS代码。JS引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以Javascript语言归为脚本语言,会逐行解释执行。
ECMAScript 是由ECMA国际(原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,他往往被称为JavaScript或者JScrip,但实际上后者是ECMAScript语言的实现和扩展。
ECMAScript: ECMAScript 规定了JS的编程语法和基础核心知识,是所有浏览器厂商工共同遵守的一套JS语法工业标准。
文档格式模型,是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过DOS提供的接口可以对页面上的各种元素进行操作(大小,位置,颜色等)
DOM 是指浏览器对象模型,他提供了独立于内容的,可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框,控制浏览器跳转,获取分辨率等。
JS有三种书写方式,分别为行内,内嵌和外部。
方法 | 说明 | 归属 |
alert(msg) | 浏览器弹出警示框 | 浏览器 |
console(msg) | 浏览器控制台打印输出信息 | 浏览器 |
prompt(info) | 浏览器弹出输入框,用户可以输出 | 浏览器 |
白话:变量就是一个装东西的盒子
通俗: 变量是存放数据的容器。我们通过变量名获取数据,甚至数据可以修改。
本质:变量是程序中申请的一块用来存放数据的空间。
类似我们酒店的房间,一个房间就可以看作是一个变量。
变量在使用时分两步:1.申明变量 2.赋值
//声明变量
var age; // 声明一个名称为age的变量
age = 10; // 给age 这个变量赋值为10;
var age = 18; //声明变量同时赋值为18
声明一个变量并赋值,我们称之为变量的初始化。
一个变量被重新赋值后,它原有的值就会被覆盖,变量值将以最后一次的赋值为准。
同时声明多个变量时,只需要写一个var,多个变量名之间使用英文逗号隔开。
情况 | 说明 | 结果 |
var age; console.log (age) | 只声明 不赋值 | underfined |
console.log(age) | 不声明 不赋值 直接使用 | 报错 |
age = 10; console.log(age); | 不声明 只赋值 | 10 |
变量的小结
数据类型
在计算机中,不同的数据所需要占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
简单的说,数据类型就是数据的类别型号。比如姓名 ‘张三’,年龄18,这些数据的类型是不一样的。
变量是用来存储值的所在处,他们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储计算机的内存中。JavaScript是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。
在代码运行时,变量的数据类型是由js引擎根据 = 右边变量值的数据类型来判断的,运行完毕之后,变量就确定了数据类型。
JavaScript拥有动态类型,同时也意味着相同的变量可用作不同的类型。
js把数据类型分为两类:
简单数据类型
简单数据类型 | 说明 | 默认值 |
Number | 数字型,包含 整数值和浮点数值 如:21,0.21 | 0 |
Boolean | 布尔数据类型 true false | false |
String | 字符串类型 | “” |
Undefined | var a; 声明了变量a 但没有给值,此时a=undefined | undefined |
Null | var a = null; 声明变量a 为空置 | null |
最长常见的进制有二进制, 八进制,十进制,十六进制。
在js 中八进制前面加上0,十进制前面加上0x;
JavaScript中数值的最大和最小
alert(Infinity);
alert(-Infinity);
alert(NaN);
用来判断一个变量是否为非数字类型,如果是返回true如果不是返回false
字符串类型可以是引号中的任意文本,其语法为单引号和双引号。
因为HTML标签里面的属性使用的是双引号,js这里推荐使用单引号。
JS字符串可以单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)
类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义字符。
转义字符都是\开头,常用的转移字符及其说明如下:
转义符 | 解释说明 |
\n |
换行符,n是newline 的意思 |
\\ | 斜杠 \ |
\' | ’ 单引号 |
\'' | '' 双引号 |
\t | tab 缩进 |
\b | 空格,b是blank的意思 |
字符串长度是由若干字符组成的,这些字符的数量就是字符串的长度,通过字符长的length属性可以获取整个字符串的长度。
布尔类型有两个值:true和false,其中true 表示为真,而false 表示为假。
布尔类型和数字型相加的时候,true为1,false 的值为 0;
一个声明后没有被赋值的变量会有一个默认值undefined(如果进行相连或者相加时,注意结果)
一个声明变量给nulll值,里面存的值为空。
typeof 可用来获取检测变量的数值类型。
字面量是在源代码中一个固定值的表示方法,通俗来说,就是字面量表示如何表达这个值
使用表单,prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型。
我们通常会实现三种方式转换:
方式 | 说明 | 案例 |
toString() | 转成字符串 | var num=1;alert(num.toString()); |
String() | 转换成字符 | var num=1; alert(String(num)); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var num = 1; alert(num + "我是字符串"); |
方式 | 说明 | 案例 |
parselnt(string)函数 | 将String类型转换成整数数值型 | parselnt('78') |
parseFloat(string)函数 | 将string类型转换成浮点数数值类型 | parseFloat('78.21') |
Number()强制转换函数 | 将string类型转换为数值型 | Number('12') |
js 隐式转换( - * /) | 利用算数运算隐式转换为数值型 | '12' - 0 |
方式 | 说明 | 案例 |
Boolean | 其他类型转换成布尔值 | Boolean('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,fima, float,goto,implements,import,int 等等