JavaScript-01

2019-08-12  本文已影响0人  白雪公主960

JavaScript概述

什么是JavaScript

javascript是一种运行于JS解释器/引擎中的解释性脚本语言

JS解释器/引擎其实就是JS运行环境:分为两种
1.独立安装的解释器NodeJS
2.浏览器内核中嵌入的JS解释器

注:解释型的语言在运行之前不会编译,编译型语言在运行前会先编译

JavaScript的发展史

完整的JavaScript的组成

1.核心(ECMAscript)
2.文档对象模型(DOM,Document Object Model)让JS有能力与页面元素进行对话
3.浏览器对象模型(BOM,Browser Object Model),让JS有能力与网页进行对话

JavaScript的特点

1.编写简单(任何文档编辑工具都可以编辑)
2.无需编译,直接运行
3.弱类型编程语言,由数值来决定数据类型
4.面向对象的编程语言

JavaScript的用途

客户端的JS
1.客户端的数据计算
2.表单输入验证
3.网页中的事件触发和处理:onlick 单击元素时做的操作
4.网页特效制作
5.服务器端异步数据提交(AJAX)

服务器端的JS
1.分布式运算
2.实时服务器
3.窗口应用
4.网络应用

JavaScript基础语法

使用JavaScript

浏览器内核:(浏览器内核负责内容的渲染,主要由两部分组成)
1.内容排版引擎-解析HTML/CSS
2.脚本解释引擎-解析JavaScript

浏览器 内核名称 内容排版引擎 脚本解释引擎
IE Trident ---------- Chakra
Firefox Gecko ---------- 猴子系列
Safari Webkit Webcore Nitro
Chrome Webkit Webcore V8
Opera Presto ------------ Carakan
Opera(2013年后)后同Chrome - - -

运行JS方式

1.使用独立的JS解释器(了解)
2.使用浏览器内核中内嵌的JS解释器(重点)

2.2.1html元素事件
onclick(鼠标单击时执行的操作)
onmouseover
onmousemove
2.2.2<script>元素中编写JS脚本
可以出现在网页的任何位置处

<script>JS脚本</script>

2.2.3外部脚本块
1.创建脚本文件并编写脚本文件
2.引入脚本文件,在<head>中添加<script>标签
<script src="脚本文件路径"></script>

注意:
1.必须是成对的标签
2.在该对标签中,不允许有出现任何的内容

JavaScript调试

1.解释性语言,若某行代码错误,则解释器终止此次执行
2.但不会影响后续块的执行,以及后续HTML元素的解析

使用错误控制台查看

语法规范

语句:会被JavaScript引擎解释器执行的代码

1.由表达式,关键字,运算符组成
2.大小写敏感
3.使用分号或者换行结束

注释:不会被JavaScript引擎解释执行的代码
1.单行注释://
2.多行注释:/............................../

变量

什么是变量

相关概念

内存:保存程序在运行过程中所需要用到的数据
变量:内存中的一段内存空间
值:变量中(内存空间)所所存的数据
变量名:内存空间的别名

变量的声明

声明:使用关键字var声明变量:var useName;

声明变量并赋值:使用"="为变量赋值:var bookPrice=29;

注意:
1.声明变量时可以不加var,但是不加的话,那么声明的就是“全局变量”,有可能造成“全局污染”
2.没有初始化的变量自动取值为undefined

 var publishDate;
 console.log(publishDate);

标准关键字
break,case,catch,continue,default,delete,do,else,flase,finally,for,function,if,in,instanceof,new,null,return,switch,this,throw,true,try,typeof,var,void,while,with,undefined.........

预保留的关键字class,int float

标识符是什么?表示变量或函数的名称

标识符命名规范:
1.可以包含字母,数字,下划线和美元符号
2.不能以数字开头
3.常用于表示函数,变量等的名称
4,名称最好有明确的含义
5.可以采用"匈牙利命名法","下划线命名法","小驼峰命名法","大驼峰命名法",需要在开发团队进行协调统一

变量的使用

var age=10;
var gender='男';
var zhengZhiMianMao='党员';
var email='tom@163.com';
var isOnSale=true;
var price;
price=39;
console.log(price);

常量

什么是常量?一旦声明好,就不能被修改的数据叫做常量

声明常量:const 常量名=值;

注意:常量声明时,必须赋值.常量的声明一般采用全大些的方式

数据类型

什么是数据类型?保存在内存中的数据类型

8bit(位)=1byte(字节)
1024kb=1kb(千字节)
1024kb=1MB
1024MB=1GB
1024GB=1TB

原始类型:
number 数字
string 字符串
boolean 布尔


特殊类型:
null 空
undefined 未定义


引用类型:
Object 对象
Function 函数
Number 数字
String 字符串
Boolean 布尔
Data 日期
Error 错误


基本数据类型(原始类型)

数字类型: 既可以表示32位的整数,也可以表示64位的浮点数

整数:
十进制:逢十进一的整数:比如1234567890
八进制:逢八进一的整数:比如12345670
十六进制:逢十六进一的整数:比如0x123456789abcdef0

浮点数:
使用小数点记录数据:94.2
使用指数记录数据:如4.3e23,4.3E-23

1.仅有两个值:true和flase
2.也代表1和0
3.实际运算中true=1,flase=0
注:多用于结构控制语句

数据类型转换

1.1变量在声明时不需要指定数据类型
1.2变量由赋值操作确定数据类型

2.不同数据类型在计算过程中会自动进行转换

数字+字符串: 数字变字符串
数字+布尔值: true变1,flase变0
字符串+布尔值: 布尔值变为字符串true和flase
布尔值+布尔值: 布尔值转换为数值1或0
数字+undefined:结果为NaN,NaN的类型为number

typeof()函数 (用于查询当前类型)
语法:var r1=typeof(变量); 返回string/number/boolean/object/finction/undefined

例如:typeof('hello'+3), 返回的是"string"

parseFloat(),解析出一个string的浮点数部分,如果没有可以转换的部分,则返回NaN

Number(),把一个string解析为number,如果包含非法字符,则返回NaN

isNaN()

1.用于判断其参数是否为一个"非数字(NaN)"值
2.如果把NaN与任何值(包括其自身)相比得到的结果均为flase,所以要判断某个值是否为NaN,不要只用==或===运算符,这种情况下只能使用isNaN()函数
3.通常用于检测类型转换函数的运算结果,以判断它们表示的是否是一个合法的数字

语法:
isNaN( ):是不是一个数字,返回结果 true 不是一个数字,flase 是一个数字

例如:

console.log(isNaN("123.4a")); //true
console.log(isNaN(parseInt("123.4a"))); //false

特殊数据类型

1.语义:"存在该数据,但当前还不存在确定的值"
2.null在程序中代表"无值"或者"无对象"
3.可以通过给一个变量赋值null来清除变量的内容

1.语义:"不存在该数据"
2.声明了变量但是从未赋值或者对象属性不存在

var msg;
console.log(msg);
var emp=new Object();
console.log(emp.isOnSale);
上一篇下一篇

猜你喜欢

热点阅读