JS(1)

1.概述

(1)历史

 1995年,JS最早出现在Netscape的浏览器中
1996年,IE3中也可以出现JS,称作JScript
 1997年,制定了JS标准规范,ECMAScript
2009年,JS开始向服务器端发展,出现Node.js

(2)现状

既可以运行在客户端浏览器,也可以运行在服务器端

(3)特点

解释型语言,编译一行执行一行
弱类型语言
基于对象
跨平台

(4)应用场景

开发前端的交互效果,服务器端开发,例如:访问数据库、其它服务器调用...

2.搭建开发环境

(1)浏览器端

浏览器中有自带的JS解释器
谷歌/edge/Safari/火狐/欧朋  内核
 UC/QQ/360/百度/小米/搜狗

(2)服务器端

Node.js
官网:www.nodejs.org
在命令行下    node  -v   查看当前版本号

(3)运行JS

浏览器下运行
新建01.js和01.html两个文件,把js嵌入到html中,用浏览器运行html即可
<script src='01.js'></script>
Node.js下运行
命令行下
node  拖拽js文件     回车

3.JS语法规范

区分大小写
每行结束的分号可以省略
分为单行注释(//..)和多行注释(/*...*/)

4.变量

用于存储数据的容器

(1)声明变量

var a=1;  //每次声明一个
var b=2, c=3;  //一次声明多个变量
在内存中开启一块空间,把空间命名为a,然后把值保存到这个内存空间。
练习:声明多个变量分别保存一个员工的编号,姓名,性别,生日,工资;并打印结果

(2)命名规则

变量的名称可以由字母、数字、下划线、美元符号($)组成,不能以数字作为开头,不能使用关键字
语义 
title 
biaoTi
username   user_name (下划线命名)  userName(驼峰命名)

(3)变量的赋值

声明变量未赋值,则为undefined(未定义,代表空值),变量可以多次赋值,并且赋不同类型的值,这	是弱类型语言的特点。

5.常量

 常量也是用来存储数据,声明的时候必须赋值,不允许重新赋值
声明常量
const a=1;

6.数据类型

 分为原始类型和引用类型
 原始类型分为数值型、字符串型、布尔型、未定义型、空

(1)数值型

整型

 1    2    3    4     5    6    7    8    9    10   ....   15   16
 8进制
  1    2    3       ...            7    10   11   12                 
16进制:a~f代表10~15
1                  ...                      9     a   ....    f     10
8进制以0开头的数字,例如: 010
16进制以0x开头的数字,例如:0xf,不区分大小写
浮点型
3141.5e-1
314.15
31.415e+1
3.1415e+2

(2)字符串型

被引号包含的数据就是字符串型,不区分单双引号
 查看任意一个字符的Unicode码
	't'. charCodeAt()

(3)布尔型

只有两个值,分别是true和false,代表真和假
用于保存只有两个值的数据,一些运算符的结果也是布尔型

(4)未定义型

只有一个值undefined
声明了变量未赋值则为undefined,代表空值

(5)空

只有一个值null,和引用类型的数据一起使用
typeof用于检测数据类型
'number'/'string'/'boolean'/'undefined'/'object'

7.数据类型的转换

分为隐式转换和强制转换

(1)隐式转换

运算过程中自动产生的转换
①数字+字符串    数字转换为字符串
 2 + '3'  // '23'
②数字+布尔值   布尔值转为数字   true -> 1  false -> 0
2+true  //3
2+false  //2
③字符串+布尔值   布尔型转为字符串  
'2'+true  //'2true'
加号(+)的作用
数字之间的加法运算
字符串之间的拼接
NaN:Not a Number,不是一个数字,这个值是转数值失败的结	果,NaN和任何数值执行加减乘除结果还是NaN
隐式转换为数值自动的调用函数Number

(2)强制转换

①强制转换为数值
 Number()
Number('2')  //2
Number('2a')  //NaN
Number(true)  //1
Number(false)  //0
Number(undefined)  //NaN
Number(null)  //0
②强制转换为整型
parseInt()
用于将字符串和小数强制转换为整型,其它的类型结果为NaN
parseInt(3.94)  //3
parseInt('2.58')  //2
parseInt('6.18a')  //6
parseInt('a6.18')  //NaN
将字符串转为整型的时候,如果开头是非数字返回NaN,否则返回	开头的整数部分
③强制转换为浮点型
parseFloat()
用于将字符串转为浮点型 
parseFloat('3a')  //3
parseFloat('3.14a')  //3.14
parseFloat('a3.14')  //NaN
④将数值和布尔值强制转换为字符串(了解)
toString()
var num=2;
num.toString()   //'2'

7.运算符

表达式:由数据或者由运算符连接的数据组成的格式称作表达式
运算符分为算术运算符、比较运算符、逻辑运算符、位运算符、赋	值运算符、三目运算符

(1)算术运算符

+  -  *  /   %   ++   --
%  取余
++  自增,让一个变量在原来基础之上加1
--  自减,让一个变量在原来基础之上减1
var b1=3;
var b2=b1++;//先把b1的值赋给b2,然后b1再执行自增
var b3=3;
var b4=++b3; //先让b3执行自增,然后再把结果赋值给b4

(2)比较运算符

>  <  >=  <=   ==(等于)   !=  ===(全等于)   !==(不全等于)
等于(==): 比较值是否相同,可能会产生隐式转换
全等于(===):先比较类型,再比较值,只有两个都相同才是true
3>'10' //false     字符串和数字比较,字符串转为数字
'3'>'10' // true   字符串之间比较,比较的是首个字符的Unicode码
'3'->51   '1'->48
3>'10a'  //false
3<'10a' //false
3=='10a' //false
NaN == NaN //false
NaN和任何值比较(>  <  >=  <=  ==  ===)结果都是false

(3)逻辑运算符

&&  逻辑与,关联的两个条件都是true,结果是true,否则是false
||  逻辑或,关联的两个条件有一个是true,结果是true,否则false
!  逻辑非,取反
短路逻辑
	&&:当第一个条件为false,就不再执行第二个条件
	||:当第一个条件为true,就不再执行第二个条件
短路逻辑主要是看第二个条件是否会执行,无需关注整体结果是	true还是false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值