【JavaScript基础】变量、数据类型、运算符

一、初识JavaScript

1.1 JavaScript历史

  • 布兰登·艾奇( Brendan Eich,1961年~)。
  • 网景公司最初命名为LiveScript,后来在与Sun合作之后将其改名为JavaScript

1.2 JavaScript是什么

  • JavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言( Script是脚本的意思)
  • 脚本语言∶不需要编译,运行过程中由js解释器(js引擎)逐行来进行解释并执行
  • 现在也可以基于Node.js技术进行服务器端编程

1.3 浏览器执行JS

浏览器分成两部分∶渲染引擎和JS引擎

  • 渲染引擎∶用来解析HTML与CSS,俗称内核,比如chrome浏览器的blink,老版本的webkit
  • JS引擎:也称为JS解释器。用来读取网页中的JavaScript代码,对其处理后运行,比如chrome浏览器的V8

1.4 JS的组成

(1)ECMAScript:ECMAScript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
(2)DOM——文档对象类型文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过DOM提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。
(3)BOM——浏览器对象模型BOM(Browser Object Model,简称BOM)是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。

1.5 JS书写位置

1、行内式

 <input type="button" value="点我试试" onclick="alert('Hello World')">
  • 可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性),如: onclick
  • 注意单双引号的使用:在HTML中我们推荐使用双引号,JS中我们推荐使用单引号
  • 可读性差,在html中编写JS大量代码时,不方便阅读
  • 引号易错,引号多层嵌套匹配时,非常容易弄混
  • 特殊情况下使用

2、内嵌JS

<script>
    alert("Hello world");
</script>
  • 可以将多行JS代码写到<script>标签中

3、外部JS文件

<script src="./my.js"></script>
  • 利于HTML页面代码结构化,把大段JS代码独立到HTML页面之外,既美观,也方便文件级别的复用
  • 引用外部JS文件的script标签中间不可以写代码
  • 适合于JS代码量比较大的情况

1.6 JavaScript注释

单行注释://
多行注释:/. ./

1.7 JavaScript输入输出语句

方法说明
alert(msg)浏览器弹出警示框
console.log(msg)浏览器控制台打印输出信息
prompt(info)浏览器弹出输入框,用户可以输入

1.8 变量

1.8.1 变量的使用

1、声明变量

var age; //声明一个名称为age的变量

var是一个JS关键字,用来声明变量(varable变量)。使用该关键字声明变量后,计算机会自动为变量分配内存空间
2、赋值
3、变量的初始化:声明一个变量并赋值。
4、同时声明多个变量:
同时声明多个变量时,只需要写一个var,多个变量名之间使用英文逗号隔开

1.8.2 变量命名规范
  • 由字母(A-Z a-z)、数字(0-9)、下划线(_)、美元符号($ )组成,如: usrAge, num01,_name
  • 严格区分大小写。var app;和var App;是两个变量
  • 不能以数字开头。18age 是错误的
  • 不能是关键字、保留字。例如: var、for、while
  • 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。myFirstName

二、数据类型

2.1 简单数据类型

简单数据类型说明默认值
Number数字型,包含整型值和浮点型值0
Boolean布尔值类型,如true、false ,等价于1和0false
String字符串类型,JS中,字符串都带引号“”
Undefinedvar a;声明了变量a但是没有赋值undefined
Nullvar a = null;声明了变量a为空值null
2.1.1 数字型Number

1、数字型进制:
在JS中八进制前面加0,十六进制前面加0x
2、数字型范围

alert(Number.MAX_VALUE);//1.7976931348623157e+308
alert(Number.MIN_VALUE);//5e-324

3、特殊值

alert(Infinity);//Infinity ,代表无穷大,大于任何数值
alert(-Infinity);//-Infinity ,代表无穷小,小于任何数值NaN ,Not a number,代表一个非数值
alert(NaN);//NaN ,Not a number,代表一个非数值

4、isNaN()

  • 这个方法用来判断非数字,并且返回一个值
  • 如果是数字返回的是 false 如果不是数字返回的是true
2.1.2 字符串型String

1、字符串引号嵌套
JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)
2、字符串转义符

转义符解释说明
\n换行符
\\斜杠\
\'‘单引号
\""双引号
\ttab缩进
\b空格

3、字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的length属性可以获取整个字符串的长度。

var str = '字符串的长度。'alert(str.length);

4、字符串拼接

  • 多个字符串之间可以使用+进行拼接,其拼接方式为字符串+任何类型=拼接之后的新字符串
  • 拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
2.1.3 布尔型Boolean
  • 布尔类型有两个值: true和false ,其中 true表示真(对),而false表示假(错)。
  • 布尔型和数字型相加的时候,true的值为1 ,false的值为0。
2.1.4 Undefined 和 Null
  • 一个声明后没有被赋值的变量会有一个默认值undefined(如果进行相连或者相加时,注意结果)
    在这里插入图片描述
  • 一个声明变量给null值,里面存的值为空
    在这里插入图片描述

2.2 获取数据变量类型

  • typeof可用来获取检测变量的数据类型
	var num = 10;
	console.log(typeof num);

2.3 数据类型转换

  • 使用表单、prompt获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。
2.3.1 转换为字符串
方式说明案例
toString()转成字符串var num = 1;alert(num.toString());
String()强制转换转成字符串var num = 1;alert(String(num));
加号拼接字符串(隐式转换)和字符串拼接的结果都是字符串var num = 1;alert(num + '我是字符串');
2.3.2 转换为数字型
方式说明案例
parseInt(string)函数将string类型转成整数数值型parselnt('10')
parseFloat(string)函数将string类型转成浮点数数值型parseFloat('10.34')
Number()强制转换函数将string类型转成数值型Number('12')
js隐式转换(- * /)利用算术运算隐式转换为数值型'12' - 0
2.3.3 转换为布尔型
方式说明案例
Boolean()函数其它类型转成布尔型Boolean('true');
  • 代表空、否定的值会被转换成false,如:‘’、0、NaN、null、undefined
  • 其余值都会被转换成true

三、运算符

  • 运算符( operator )也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。

3.1 算数运算符

概念:算术运算使用的符号,用于执行两个变量或值的算术运算。
运算符:+(加)、-(减)、*(乘)、/(除)、%(取余数)
注意

  • 由于机器底层问题,浮点数运算存在精度问题
  • 注意算术运算符的优先级,先乘除,后加减,有小括号先算小括号里面的

3.2 递增和递减运算符

如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减(--)运算符来完成。
(1)前置递增运算符

++写在变量的前面
先加1,后返回值

(2)后置递增运算符

++写在变量的后面
先返回值,后加1

3.3 比较运算符

概念:比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值( true / false)作为比较运算的结果。

运算符说明
<、>小于号、大于号
<=、>=小于等于号、大于等于号
==判等号(会转型)
!=不等号
=== !==全等、要求值和数据类型都一致

3.4 逻辑运算符

概念∶逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。

逻辑运算符说明案例
&&逻辑与true && false
||逻辑或true || false
!逻辑非! true
3.4.1 短路运算(逻辑中断)

短路运算的原理∶当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值
(1)逻辑与

  • 语法:表达式1 && 表达式2
  • 如果第一个表达式的值为真,则返回表达式2
  • 如果第一个表达式的值为假,则返回表达式1

(2)逻辑或

  • 语法:表达式1 || 表达式2
  • 如果第一个表达式的值为真,则返回表达式1
  • 如果第一个表达式的值为假,则返回表达式2

3.5 赋值运算符

概念︰用来把数据赋值给变量的运算符。

赋值运算符说明
=直接赋值
+=、-=加、减一个数后再赋值
*=、/=、%=乘、除、取模后再赋值

3.6 运算符优先级

优先级运算符顺序
1小括号()
2一元运算符++ – !
3算数运算符先* / % 后+ -
4关系运算符> >= < <=
5相等运算符== != === !===
6逻辑运算符先&& 后 ||
7赋值运算符=
8逗号运算符,
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值