JavaScript基础知识(数据类型及转换、运算符)
9、数据类型
概念:表示当前存储的数据的分类(表示数字 - 整数和小数)
u 原始类型(原始值) -----【typeof运算符:判断变量的原始类型】
*number(数字):表示数字 var num1 = 10.123; console.log(num1);
* NaN(不是一个数字): 全称为 Not a Number
*boolean(布尔):只有true/false值 var boo = true; console.log(boo);
*undefined:只有一个值undefined [变量只定义,不赋值] 变量之间赋值为undefined
*null 作用:资源释放 var n2=null;
u 引用类型 -----【instanceof运算符:判断变量的引用类型】
* Number:new Number(数字) var num1 = new Number(200);
* String: new String(字符串) var str2 = new String(‘hello’);
* Boolean:new Boolean(true/false ) var boo3 = new Boolean(true);
10、类型转换
u 隐式类型转换
- Ø 转换成字符串类型【num + ' ' boo + ' '】格式:var result1 = num + ' '; 结果: '数字' '文本'
- Ø 转换成数字类型 【+str +boo】 格式:var result2 = +str;
*布尔类型: true => 1; false => 0
*字符串类型:'数字' => 数字 ; '文本内容' => NaN
附NaN:
console.log(isNaN(10)); // 输出false(10是一个数值)
console.log(isNaN("10")); // 输出false(可以被转换成数值 10)
console.log(isNaN("blue")); // 输出true(不能转换成数值)
console.log(isNaN(true)); // 输出false(可以被转换成数值 1)
- 转换成布尔类型 【!!num !!str】 格式:var result3 = !!num;
* number类型:0、NaN => false; 非0 => true
* string类型: 空字符串 => false; 非空字符串 => true
*undefined:=> false;
*null:=> false
【返回undefined】:
访问未修改的变量undefined; 访问不存在的属性; 任何被设置为 undefined 值的变量
没有定义return表达式的函数隐式; return 表达式没有显式的返回任何内容
u 显式类型转换
(1)构造函数方式
² Number( )
var result1 = Number(str); var result2 = Number(boo);
² String( )
var result1 = String(num1); var result2 = String(boo2);
² Boolean( )
var result1 = Boolean(num1); var result2 = Boolean(str2);
(2)转换方法
u toString( ) - 转换为字符串
var result1 = num1.toString( ); var result2 = boo2.toString( );
u parseInt( ) - 转换为数字的整数
var result1 = parseInt(str3); var result2 = parseInt(boo4);
*数字开头的字符串 => 前边的数字。 *非数字开头的字符串 => NaN。
u parseFloat( ) - 转换为数字的小数
var result3 = parseFloat(str5); var result4 = parseFloat(boo6);
附:转换包含数字和字符的字符串 [parseInt( )或者parseFloat( )方法]
eg: var str = '10str';
var result1 = parseInt(str); //10 var result2 = parseFloat(str); //10
12、运算符
u 算数运算符
² number [+、-、*、/、% ]
注:% 求余,A % B = 得到的整数部位,且正负号取决于A的正负
² string + number ==> 【string + string】类型 结果:‘ ’
² string + boolean ==> 【string + string】类型 结果:‘ ’
注:加号 - 不是表示加法计算,而是表示字符串的连接符(出现string类型 -拼串)
★一个数字类型和一个非数字字符串相减,得到的是NaN eg: console.log(‘hi’-3); //NaN
★一个数字类型和一个非数字字符串相除,得到的是NaN
² boolean + number ==> 【number + number】类型 进行加法计算
² 自增或自减运算符

自增运算符(++) --- 每次增加1; 自减运算符(- -) --- 每次减少1
前置型:自增运算符位于运算数之前。先加 1,再赋值。
后置型:自增运算符位于运算数之后。先赋值,再加 1
u 比较运算符
== != 不相等 > >= < <=
不同类型的比较运算符:
== !== 数值相同,类型不同; 只比较数值 结果:数值相同,true
=== (全等) 类型、值均相同 结果:true
!== (不全等) 类型、值有一个不相同 结果:true ;类型、值均不相同 结果:false ;
* NaN值的比较(NaN与自身不等): console.log(NaN == NaN); // false
* isNaN( )方法:判断指定变量是否不是一个数字 eg: var result = Number('string');//NaN
console.log(isNaN(result));//true
u 逻辑运算符
&& 与 (符号真取后;假取前) || 或 (符号真取前;假取后) !非
短路原则:
&& --&&前面为false,结果将返回&&前面的值;前面为true,结果将返回&&后面的值。
|| --- ||前面为false,结果都将返回||后面的值;前面为true,结果都将返回||前面的值。
u 赋值运算符
A += B 即A = A + B; A -= B 即A = A - B; A *= B 即A = A * B;
A /= B 即A = A / B; A %= B 即A = A % B; 注:左边的效率 > 右边的效率
u 字符串连接运算符
数字+数字 ==> 加法计算; 数字+字符串 ==> 字符串拼接计算
* 运算符命名方式:
一元运算符:只操作一个变量; 二元运算符:操作两个变量;三元运算符:操作三个变量
u 条件(三元)运算符:
格式: 表达式 ? 结果1:结果2;
结果为true,执行结果1;结果为false,执行结果2.
允许嵌套,但嵌套的层级过多时,性能下降、可读性降低
JavaScript基础知识(数据类型及转换、运算符)的更多相关文章
- java基础知识-数据类型及转换
1.java中的常量大体分为两种: <1>字面量常量 <2>自定义常量 2.java中常量(字面量)的分类:<1>,整数常量:直接出现的整数<2>,小数 ...
- Javascript基础知识总结一
Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- C语言基础知识-数据类型
C语言基础知识-数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常量与变量 1>.关键字 C的关键字共有32个. >.数据类型关键字(12个) char,s ...
- JavaScript 基础知识 - BOM篇
前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...
- JavaScript基础:数据类型的中的那些少见多怪
原文:JavaScript基础:数据类型的中的那些少见多怪 Javascript共有6种数据类型,其中包括3个基本数据类型(string,number,boolean).2个特殊数据类型(undefi ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- JavaScript基础知识整理
只整理基础知识中关键技术,旨在系统性的学习和备忘. 1.在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN ...
- JavaScript基础知识从浅入深理解(一)
JavaScript的简介 javascript是一门动态弱类型的解释型编程语言,增强页面动态效果,实现页面与用户之间的实时动态的交互. javascript是由三部分组成:ECMAScript.DO ...
- JavaScript基础知识必知!!!
JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型. JS作用:表单验证,减轻服务端的压力:添加页面动画效果:动态更改页面内容:Ajax网络请求. 下面简单介 ...
随机推荐
- itextpdf添加非自带字体(例如微软雅黑)
找到需要的字体,例如 在windows系统中找到需要字体,本例使用微软雅黑,使用C:\\Windows\\Fonts\\msyh.ttf. 代码如下: /** * 创建pdf,使用微软雅黑字体 * * ...
- IdentityServer(12)- 使用 ASP.NET Core Identity
IdentityServer具有非常好的扩展性,其中用户及其数据(包括密码)部分你可以使用任何想要的数据库进行持久化. 如果需要一个新的用户数据库,那么ASP.NET Core Identity是你的 ...
- 仔细讲解socket(转载https://www.zybuluo.com/phper/note/47110)
老实讲,到目前为止,我对socket一无所知,真的.我就现学现卖用过nodejs平台的socket.io搭建过一套高可用实时性的网页聊天系统,其他,就真的只是听过它. 今天就来仔仔细细的学一下,soc ...
- gulp实现公共html代码复用
在开发网站的时候,尤其是类似于官网这样的项目,顶部都会有一个导航栏,底部会有一些其他信息,而这两个部分在每一个页面都是有的.我们不可能在每个html页面都写一遍,这样也不便后期维护等操作,所以可以把顶 ...
- [置顶]
android ListView包含Checkbox滑动时状态改变
题外话: 在xamarin android的开发中基本上所有人都会遇到这个小小的坎,的确有点麻烦,当时我也折腾了好一半天,如果你能看到这篇博客,说明你和我当初也是一样的焦灼,如果你想解决掉这个小小的坎 ...
- ArcGIS API for JavaScript 4.2学习笔记[18] 搜索小部件
这个例子很简单,作为开学后(暴露出学生党的本质)的开胃菜是再合适不过了. 不过,博主提前警告一下:接下来的例子会相当的长.烦.难.我还会用"引用"-"函数参数骨架&quo ...
- bzoj 4237: 稻草人
Description JOI村有一片荒地,上面竖着N个稻草人,村民们每年多次在稻草人们的周围举行祭典. 有一次,JOI村的村长听到了稻草人们的启示,计划在荒地中开垦一片田地.和启示中的一样,田地需要 ...
- C#常用单词
C#语言需要的一些英语注释 About -----关于 abstract -----抽象的 Abstract ------抽象的 Accept -----接受 activat -----活跃 add ...
- 获取数据库时间sql 以及行级锁总结-共享锁-排他锁-死锁
--TRUNC(date,[fmt]) /TRUNC(number[,decimals])SELECT SYSDATE FROM dual;SELECT TRUNC(SYSDATE) FROM dua ...
- 深入理解用户权限rwx
其实在UNIX的实现中,文件权限用12个二进制位表示,如果该位置上的值是1,表示有相应的权限,如果是0则没有相应权限第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于 ...