JavaScript-01

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.1直接在Console中输入脚本并执行
  • 2.2将JS脚本嵌入在HTML页面中执行

2.2.1html元素事件
onclick(鼠标单击时执行的操作)
onmouseover
onmousemove
2.2.2

2.2.3外部脚本块
1.创建脚本文件并编写脚本文件
2.引入脚本文件,在中添加

注意:
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);
  • 一个语句中声明多个变量
    可以在一条语句中声明多个变量,变量名用","进行分隔
    var name1,name2,name3;
    var age1,age2=30;

  • 命名需要符合标识符语法要求
    不允许使用语言关键字和保留字作为变量名

标准关键字
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.可以采用"匈牙利命名法","下划线命名法","小驼峰命名法","大驼峰命名法",需要在开发团队进行协调统一

变量的使用

  • 未经初始化的变量
    注:
    1.变量定义之后,在使用前从未赋过值,它的值为undefined
    2.变量未被定义过,如果被直接使用,属于语法上的错误

  • 在变量声明时初始化
    在定义变量时立即进行初始化

var age=10;
var gender='男';
var zhengZhiMianMao='党员';
var email='[email protected]';
var isOnSale=true;
  • 在第一次使用变量初始化,变量可以先声明,再赋值
var price;
price=39;
console.log(price);
  • 可以对变量中的值进行存取,操作
    1.获取变量的值 GET操作
    (感觉就是把一个原有了值得变量再赋值给一个新的变量,类似于值得传递)

    2.重新设置变量的值SET操作
    (有一个变量已经有一个值了,在把另一个有值得变量赋值给它,有点像值得覆盖)

  • 变量的操作必须于类型匹配
    虽然JavaScript是弱类型语言,语法上允许变量先后赋值为任意有效值,但是在项目开发中,对变量的赋值和操作也要注意是否满足实际业务要求.

    比如人数不能是浮点数

常量

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

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

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

数据类型

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

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

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


特殊类型:
null 空
undefined 未定义


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


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

  • number类型

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

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

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

  • string类型

    字符串类型:
    1,表示一系列的文本字符数据,比如性别,姓名,住址等
    2.由Unicode字符,数字,标点符号组成的序列
    3JavaScript不像Java语言那样严格区分字符串和字符串类型
    4.首位由一对单引号或者双引号括起来
    5.特殊字符需要转义符 :

    \n换行
    \r回车
    \t制表符
    \" :  "
    \' : '
    \\ : \
    
  • boolean类型: 布尔类型

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

数据类型转换

  • 隐式转换
    1.JavaScript属于松散类型的程序语言

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"

  • 数据类型转换函数

    toString(),将任何类型的数据转换成字符串类型var newVar=变量.toString()

    parseInt(),将一个数据转换“整数”,语法:var result=parseInt(变量)

    注意:
    1.碰到第一个非数字字符则停止转换,已经转换的则保留
    2.如果第一个字符就是非数字字符,结果为NaN

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

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

  • isNaN函数

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

特殊数据类型

  • null

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

  • undefined

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

var msg;
console.log(msg);
var emp=new Object();
console.log(emp.isOnSale);

你可能感兴趣的:(JavaScript-01)