JavaScript-基础类型和运算符
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、命名规则:
- 标识符可包含数字、字符、下划线
- 不可以以数字开头。
- 便师傅可以为关键字或保留字
- 标识符一般采用驼峰命名法:首字母小写,每个单词开头字母大写,其余字母小写
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-基础类型和运算符的更多相关文章
- (转)JavaScript中的运算符优先级
JavaScript中的运算符优先级是一套规则.该规则在计算表达式时控制运算符执行的顺序.具有较高优先级的运算符先于较低优先级的运算符执行.例如,乘法的执行先于加法. 下表按从最高到最低的优先级列出J ...
- JavaScript基础——使用运算符
JavaScript运算符允许你改变一个变量的值.你已经熟悉了用于赋值给变量的=运算符.JavaScript提供了几种不同的运算符,它们可以划分为两大类:算数运算符和赋值运算符. 1.算数运算符 你可 ...
- JavaScript中“typeof”运算符与“instanceof”运算符的差异
在JavaScript中,运算符“typeof”和“instanceof”都可以用来判断数据的类型,那么这两个运算符有什么不同之处呢? 差异一:使用方式不同. 最明显的差异就是这两个运算符的使用方式了 ...
- JavaScript中的运算符种类及其规则介绍
JavaScript中的运算符有很多,主要分为算术运算符,等同全同运算符,比较运算符,字符串运算符,逻辑运算符,赋值运算符等.这些运算符都有一些属于自己的运算规则,下面就为大家介绍一下JavaScri ...
- SpringMVC提交数据遭遇基础类型和日期类型报400错误解决方法
使用SpringMVC开发的时候,页面如果有日期格式的数据,后台接受也是java.util.Date,则报告400错误 .下面是解决方案的演示示例: 这个是实体类,里面createDate就是java ...
- JavaScript 基本语法 -- 运算符的优先级
在所有的运算里,都是有运算顺序的.小时候学四则运算的时候,我们都知道这么一个规则:先乘除后加减,有括号要先算括号! 同样的,在JavaScript里面,运算符也是有相应的优先级的.其优先级如下表所示, ...
- [TODO]The way to Go(9): 基本类型和运算符
参考: Github: Go Github: The way to Go 基本类型和运算符 表达式是一种特定的类型的值,它可以由其它的值以及运算符组合而成. 每个类型都定义了可以和自己结合的运算符集合 ...
- JavaScript中逗号运算符
JavaScript中逗号运算符(,)是顺序执行两个表达式.使用方法: expression1, expression2 其中expression1是任何表达式. expression2是任何表达式. ...
- .NET基础 (04)基础类型和语法
基础类型和语法1 .NET中所有内建类型的基类是什么2 System.Object中包含哪些方法,哪些是虚方法3 值类型和引用类型的区别4 简述装箱和拆箱原理5 C#中是否有全局变量6 struct和 ...
- JavaScript学习系列7 -- JavaScript中的运算符
今天,我们来说一说JavaScript中的运算符,首先我们来讲一讲 一元运算符 JavaScript中的一元运算符有以下几种 1. delete delete 运算符主要用于删除对以前定义的对象属性或 ...
随机推荐
- BZOJ_1406_[AHOI2007]密码箱_枚举+数学
BZOJ_1406_[AHOI2007]密码箱_枚举+数学 Description 在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子 ...
- 「网络流24题」「LuoguP4014」 分配问题
Description 有 n 件工作要分配给 n 个人做.第 i 个人做第 j 件工作产生的效益为 cij.试设计一个将 n 件工作分配给 n 个人做的分配方案,使产生的总效益最大. Input 文 ...
- 洛谷P3830 [SHOI2012]随机树——概率期望
题目:https://www.luogu.org/problemnew/show/P3830 询问1:f[x]表示有x个叶节点的树的叶节点平均深度: 可以把被扩展的点的深度看做 f[x-1] ,于是两 ...
- Eclipse全项目搜索指定文件&字串
在eclipse中如果希望在大量的项目中寻找指定的文件可不是一件轻松的事,还好eclipse提供了强大的搜索功能. 我们可以通过通配符或正则表达式来设定查寻条件,下面是操作示例: ctrl+h 打开搜 ...
- Centos7 编译安装 Nginx、MariaDB、PHP
前言 本文主要大致介绍CentOS 7下编译安装Nginx.MariaDB.PHP.面向有Linux基础且爱好钻研的朋友.技艺不精,疏漏再所难免,还望指正. 环境简介: 系统: CentOS 7,最小 ...
- Spring MVC访问页面直接显示源码
转自:https://blog.csdn.net/u011781521/article/details/78751253
- 附加类型“UniversalReviewSystem.Models.ApplicationUser”的实体失败,因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值
在使用asp.net Identity2 的 UserManager RoleManager 时,同时还有其他仓储类型接口,能实现用户扩展信息的修改,用户注册没有问题.当修改用户信息时,出现了如下异常 ...
- POI2013 Bytecomputer
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3427 可以证明最终序列为-1...0....1 因为首先如果 a(i-1) 为-1或0,执行操 ...
- [转载]OI省选算法汇总
简单列了一点 1.1 基本数据结构 数组 链表,双向链表 队列,单调队列,双端队列 栈,单调栈 1.2 中级数据结构 堆 并查集与带权并查集 hash 表 自然溢出 双hash 1.3 高级数据结构 ...
- HDU6069:Counting Divisors(因子数统计|区间筛)
题意 计算\(\sum_{i=l}^kd(i^k)(d_i代表i的因子数)\) 分析 比赛搞了3个小时都没搞出来,有两个思维上的trick 1.要先遍历素数,再遍历[L,R],而不是枚举每个数,然后对 ...