JavaScript-基础类型和运算符

P02.稍微了解

1、js代码需要编写到script标签中

<script type="text/javascript">

此处输入Js代码内容

</script>

2、控制浏览器弹出一个警告框

alert("弹出内容");

3、让计算机在页面中输出一个内容,document.write("页面输出内容")可以向body中输出一个内容

document.write("document.write页面输出内容");

4、向控制台输出一个内容

console.log("console.log输出内容");

console.log("年纪="+age);

P03.js代码编写位置

1、可以写在title文件下的script标签中

<script type="text/javascript">

此处输入Js代码内容

</script>

2、Js可以写在标签中,如onclick标签或href标签(耦合,不推荐)。

<!--

可以将JS代码编写至标签中。

点击按钮后,js代码才会执行

-->

<button onclick="alert('你点我干嘛')">点我一下</button>

<a href="javascript:alert('你又点我')">来啊,点我啊</a>

3、也可以写在外部.js文件中,通过script标签引入(优选方式)。

<script type="text/javascript" src="jscirpt文件路径">

写在外部文件中可在不同界面中同时引用,也可以利用浏览器的缓存机制。

Script标签中一旦引入外部文件,就不能再编辑代码,即使编辑代码,浏览器也会选择忽略。

如需要再编辑代码,则可以再创建啊一个新的script标签用于编辑内部代码

<script type="text/javascript" src="js/jscirpt文件名.js">

P04基本语法

1、注释:

单行注释

//单行注释

多行注释

/*

* 多行注释

*/

<!--

多行注释

-->

2、严格区分大小写

3、每一条语句以分号;结尾

P05字面量(变量中不可变的值)和变量

1、字面量:不可变的值(很少用)

2、变量:可以改变值x=1

3、声明变量 x:

var x;

Var x,y;

4、为变量x赋值:

x=5

5、声明且赋值:var x=5;var m=1,n=2;

P06标识符

1、命名规则:

  1. 标识符可包含数字、字符、下划线
  2. 不可以以数字开头。
  3. 便师傅可以为关键字或保留字
  4. 标识符一般采用驼峰命名法:首字母小写,每个单词开头字母大写,其余字母小写

P07-14数据类型

1. 六种数据类型:

(1) String字符串

(2) Number 数值

(3) Boolean 布尔值

(4) Null空值

(5) Undefined未定义

(6) Object 对象

其中前五种为基本数据类型,object属于引用数据类型

2. String字符串

String字符串在js中需要使用双引号或单引号引起来,

var str1="lanyuan"

Var str2;

Str=”我说:\”今天天气不错!\””

在字符串中我们可以使用\作为转义字符,当表示一些字符时可使用\转义。

如:

\”表示”

\’表示’

\n表示换行

\t表示制表符

\\表示\

输出变量字符串str

var str="lanyuan-nihao";

alert(str);//输出变量字符串str

Str=2345;

alert(“str”);//输出字面量字符串str

3. Number数值

1、所有数值都是number类型。包括整数和浮点数(小数)

2、数字最大或小值:number.MAX_VALUE 或 number.Min_VALUE

如果number中的数字超过最大值,则返回一个infinity(无穷),使用typeof检查也会显示number

infinity(正无穷)

-infinity(负无穷)

3、NaN(not a number)表示不是一个数值,使用typeof检查也会显示number

4、在js中整数运算基本可以保证精确。但是进行浮点数计算,可能会得到不精确的结果。

所有千万不要使用JS进行对精确度比较高的计算,如钱

4. Boolean布尔值

主要为逻辑判断

5. Null空值(表示未空的对象)

使用typeof检查也会显示object

6. Undefined未定义(声明变量却未赋值)

使用typeof检查也会显示undefined

7. 检查变量类型:typeof运算符

语法:typeof 变量名

结果:

检查字符串时,返回结果为string

检查数值时,会返回number

如:

console.log(typeof str)

8. 强制转换类型string(使用tostring()方法或string()函数)

1、方式一:调用被转换数据类型的tostring()方法

调用xxx的yyy()方法。就是xxx.yyy()

该方法不会影响原变量,他会将转换后的结果返回

Var b=a.tostring();//将a装换成string类型并且将结果赋值给b

注意:

对于null,undefined两个数值没有tostring方法

2、方式二(优先):调用string()函数,将a转换成字符串。

A=String(a);

3、方式三:

var c=123;

C=c+””;

9. 强制转换类型number(使用number()函数)

1、方式一:调用number()函数将a转换为number类型

2、字符串转数字

(1) 如果纯数字的字符串,直接转换

(2) 如果字符串有非数字的内容,将转换为NaN

(3) 如果字符串为空串或一个全为空格的字符,将转换为0

3、Boolean转数字

(1) True转换为1

(2) False转换为0

4、Null转数字

Null=0

5、Undefined转换数字

Undefined=NaN

6、方式二:针对string转换

(调用parseInt()将一个字符串中有效的整数内容取出来遇到非数字字符将不再读取下去)

如果对非string型转换,将会先转换成string类型,再转换成number型

//整型

var a="1234hj233jj";

a=parseInt(a);

console.log(a);

//浮点型

var a="123.4hj233jj";

a=parseFloat(a);

console.log(a);

10. 强制转换类型boolean

使用Boolean()函数

1、数字转boolean

(1) 除了0和NaN,其余都是true

2、字符串转boolean

(1) 除了空串其余都是true

3、Null和undefined转boolean,都是false

4、对象转换Boolean也是true

P15-26运算符即操作符

通过运算符可以对一个或多个值进行运算,获取运算结果。如typeof运算符

1. 算数运算符(+、-、*、/、%)

1、对非number的值进行运算时,会将这些值转换为number值,在进行计算。

2、任何值和NAN运算都得NaN。

3、加法+:

(1) +可以对两个值进行加法运算,并将结果返回。

(2) +时,任何类型字符与字符串相加,相当于拼串,拼成一个串,并返回。相当于隐式的类型转换,由浏览器自动完成。

(3)

4、 减法-

-可以对两个值进行减法运算,并将结果返回。

对非number的值进行运算时,会将这些值转换为number值,在进行计算。

5、乘法*

*可以对两个值进行乘法运算,并将结果返回。

对非number的值进行运算时,会将这些值转换为number值,在进行计算。

6、除法/

*可以对两个值进行除法运算,并将结果返回。

对非number的值进行运算时,会将这些值转换为number值,在进行计算。

2. 一元运算符(+、-正负号)

1、只需要一个操作数

2、正号+

(1) 正号不会对数字产生任何影响

3、负号-

(1) 负号会对数字进行取反

(2) 对于非number类型的值会先转换为number,然后再运算。

(3) 可以对一个其他数据类型使用+,将其转换为number。原理和number()函数一样

3. 自增和自减

1、自增a++和++a

(1) 相同点:a++和++a都会使原变量的值自增1

(2) 不同点:a++和++a表达式值不同

a++的值等于原变量自增前的值

++a的值等于原变量自增后的值

2、自减a--和--a

(1) 相同点:a--和--a都会使原变量的值自减1

(2) 不同点:a--和--a表达式值不同

a--的值等于原变量自减的值

--a的值等于原变量自减的值

4. 布尔值逻辑运算符(!非、&&与、||或)

1、!非

(1) !可以用来对一个值进行非运算

(2) 非运算:对布尔值进行取反

true变为false,false变成true

(3) 对值取反两次不会有变化

对非布尔值进行取反,则将其转换为布尔值,再取反

利用该特点将一个其他数据类型转换为布尔型

可以为任意一个数据类型取反凉席,将其转换为布尔值。

2、&&与(全部true为true)

(1) &&可以对符号两侧的值进行与运算并返回结果。

(2) 运算规则:

两个值中两个为true才返回true

(3) 短路与

有一个false就不会检查第二个值

3、||或(一个true为true)

(1) ||可以对符号两侧的值进行或运算并返回结果。

(2) 运算规则:

两个值中只要有一个值为true就返回true

5. 非布尔值的与或运算

1、&&与(全部true为true)

(1) &&可以对符号两侧的值进行与运算并返回结果。

(2) 运算规则:

① 非布尔值与运算需要将其转换为boolean值,在进行运算。

② 两个值中两个为true才返回值。返回的第二个值。

③ 两个值中有一个为false才返回值。返回的第一个值。

(3) 短路与

有一个false就不会检查第二个值

2、||或(一个true为true)

(1) ||可以对符号两侧的值进行或运算并返回结果。

(2) 运算规则:

① 非布尔值与运算需要将其转换为boolean值,在进行运算。

② 第一个值为true则直接返回第一个值。

③ 第一个值为false则直接返回第二个值

(3) 两个值中只要有一个值为true就返回true

6. 赋值运算符(+=、-=、*=、/=、%=)

如a+=5//等价于a=a+5

7. 关系运算符(>、>=、<、<=)

1、可比较两值之间的关系,关系成立——true,关系不成立——false。

2、非数值情况比较。,会将其转换为数值,再比较。

3、任何值和NaN比较都是false

4、特殊情况:

(1) 若比较的两端为字符串,则不会转换为数值。而是通过编码(参考Unicode编码表

(2) )进行比较。

(3) 比较编码时是一位一位进行比较。如果一样,则进行比较下一位。可借用其对英文进行排序。可能出现1111<5的结果,故结果可能不准确。

(4) 所有比较两个字符串时,一定要转型

 

8. Unicode编码表

1、在js中使用转义字符输入unicode编码时,需要加\u

如编码2620

则\u2620

在网页中使用unicode编码,加&#,且编码需要为10进制。

9. 相等运算符(==、!=、===、!==)

1、相等==:

(1) 比较两值是否相等

(2) 相等——true,不相等——false

(3) 使用==计算时,若值的类型不同,则会自动进行类型转换,将其转换为相同的类型在计算。

(4) Undefined衍生自null。所有两值作比较时,返回true

(5) NaN不和任何值相等,包括本身

(6) 判断一个值是否是NaN,可以通过isNaN()函数进行判断,是则返回true,否返回false.

2、不相等!=

(1) 比较两值是否不相等

(2) 相等——true,不相等——false

(3) 使用==计算时,若值的类型不同,则会自动进行类型转换,将其转换为相同的类型在计算。

(4) Undefined衍生自null。所有两值作比较时,返回true

(5) NaN不和任何值相等,包括本身

(6) 判断一个值是否是NaN,可以通过isNaN()函数进行判断,是则返回true,否返回false.

3、全等===

不进行类型转换,其他与==相同。

4、不全等!==

不进行类型转换,其他与!=相同。

10. 条件运算符(三元运算符)

1、语法:条件表达式?语句1:语句2;

2、规则:

(1) 先对条件表达式求值,

(2) 若返回值为true则执行语句1,并返回语句结果

(3) 若返回值为false则执行语句2,并返回语句结果

3、注意:当表达式返回值为非布尔值,系统会将其自动转换为布尔值在计算

11. 运算符优先级(有对应表)

JavaScript-基础类型和运算符的更多相关文章

  1. (转)JavaScript中的运算符优先级

    JavaScript中的运算符优先级是一套规则.该规则在计算表达式时控制运算符执行的顺序.具有较高优先级的运算符先于较低优先级的运算符执行.例如,乘法的执行先于加法. 下表按从最高到最低的优先级列出J ...

  2. JavaScript基础——使用运算符

    JavaScript运算符允许你改变一个变量的值.你已经熟悉了用于赋值给变量的=运算符.JavaScript提供了几种不同的运算符,它们可以划分为两大类:算数运算符和赋值运算符. 1.算数运算符 你可 ...

  3. JavaScript中“typeof”运算符与“instanceof”运算符的差异

    在JavaScript中,运算符“typeof”和“instanceof”都可以用来判断数据的类型,那么这两个运算符有什么不同之处呢? 差异一:使用方式不同. 最明显的差异就是这两个运算符的使用方式了 ...

  4. JavaScript中的运算符种类及其规则介绍

    JavaScript中的运算符有很多,主要分为算术运算符,等同全同运算符,比较运算符,字符串运算符,逻辑运算符,赋值运算符等.这些运算符都有一些属于自己的运算规则,下面就为大家介绍一下JavaScri ...

  5. SpringMVC提交数据遭遇基础类型和日期类型报400错误解决方法

    使用SpringMVC开发的时候,页面如果有日期格式的数据,后台接受也是java.util.Date,则报告400错误 .下面是解决方案的演示示例: 这个是实体类,里面createDate就是java ...

  6. JavaScript 基本语法 -- 运算符的优先级

    在所有的运算里,都是有运算顺序的.小时候学四则运算的时候,我们都知道这么一个规则:先乘除后加减,有括号要先算括号! 同样的,在JavaScript里面,运算符也是有相应的优先级的.其优先级如下表所示, ...

  7. [TODO]The way to Go(9): 基本类型和运算符

    参考: Github: Go Github: The way to Go 基本类型和运算符 表达式是一种特定的类型的值,它可以由其它的值以及运算符组合而成. 每个类型都定义了可以和自己结合的运算符集合 ...

  8. JavaScript中逗号运算符

    JavaScript中逗号运算符(,)是顺序执行两个表达式.使用方法: expression1, expression2 其中expression1是任何表达式. expression2是任何表达式. ...

  9. .NET基础 (04)基础类型和语法

    基础类型和语法1 .NET中所有内建类型的基类是什么2 System.Object中包含哪些方法,哪些是虚方法3 值类型和引用类型的区别4 简述装箱和拆箱原理5 C#中是否有全局变量6 struct和 ...

  10. JavaScript学习系列7 -- JavaScript中的运算符

    今天,我们来说一说JavaScript中的运算符,首先我们来讲一讲 一元运算符 JavaScript中的一元运算符有以下几种 1. delete delete 运算符主要用于删除对以前定义的对象属性或 ...

随机推荐

  1. [SDOI2016] 模式字符串 (BZOJ4598 & VIJOS1995)

    首先直接点分+hash就可以做,每个点用hash判断是否为S重复若干次后的前缀或后缀,每个子树与之前的结果O(m)暴力合并.在子树大小<m时停止分治,则总复杂度为O(nlog(n/m)). 问题 ...

  2. django上课笔记6-MVC,MTV架构-中间件-初识Form组件

    一.MVC,MTV架构 models(数据库,模型) views(html模板) controllers(业务逻辑处理) --> MVC models(数据库,模型) templates(htm ...

  3. 【华为2016上机试题C++】最高分是多少

    [编程题] 最高分是多少 时间限制:1秒 空间限制:65536K 老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问.当然,老师有时候需要更新某位同学的成绩. 输入描述: 输入包括 ...

  4. 3DMAX 合并镜像物体

    如果镜像文件是实例,那么就不能用附加选项,所以可以先删除一半,再copy镜像出来,然后点选可编辑网格,在一个物体上选附加,再点选另一半即可

  5. PAT团体程序设计天梯赛 - 模拟赛

    由于本人愚笨,最后一题实在无力AC,于是只有前14题的题解Orz 总的来说,这次模拟赛的题目不算难,前14题基本上一眼就有思路,但是某些题写起来确实不太容易,编码复杂度有点高~ L1-1 N个数求和 ...

  6. Luogu P1262 间谍网络 【强连通分量/缩点】By cellur925

    题目传送门 真是一道好题呀~~~~qwq 知道这题是tarjan,但是想了很久怎么用上强连通分量.因为样例们...它显然并不是一个强联通分量! (被样例迷惑的最好例子) 然后...就没有然后了...感 ...

  7. S.O.L.I.D: PHP 面向对象设计的五个基准原则

    S.O.L.I.D 是首个 5 个面向对象设计 (OOD) 准则的首字母缩写,这些准则是由 Robert C. Martin 提出的,他更为人所熟知的名字是 Uncle Bob. 这些准则使得开发出易 ...

  8. Five things that make Go fast-渣渣翻译-让GO语言更快的5个原因

    原文地址:https://dave.cheney.net/2014/06/07/five-things-that-make-go-fast 翻译放在每个小段下面 Anthony Starks has ...

  9. macOS 设置Root密码

    用管理员帐号进入Terminal: 1) 输入:sudo passwd root ,回车: 2) 输入新的root密码: 3) 输入:su : 4) 输入新密码: 这样就进入到root帐号了.

  10. python之self本类对象

    不知道写点啥好,讲的都太绕了 似懂非懂,貌似懂了 以后再补充吧,视频day8_3中的20——60分钟那一部分