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基础知识(数据类型及转换、运算符)的更多相关文章

  1. java基础知识-数据类型及转换

    1.java中的常量大体分为两种: <1>字面量常量 <2>自定义常量 2.java中常量(字面量)的分类:<1>,整数常量:直接出现的整数<2>,小数 ...

  2. Javascript基础知识总结一

    Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...

  3. C语言基础知识-数据类型

    C语言基础知识-数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常量与变量 1>.关键字 C的关键字共有32个. >.数据类型关键字(12个) char,s ...

  4. JavaScript 基础知识 - BOM篇

    前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...

  5. JavaScript基础:数据类型的中的那些少见多怪

    原文:JavaScript基础:数据类型的中的那些少见多怪 Javascript共有6种数据类型,其中包括3个基本数据类型(string,number,boolean).2个特殊数据类型(undefi ...

  6. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  7. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  8. JavaScript基础知识整理

    只整理基础知识中关键技术,旨在系统性的学习和备忘. 1.在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN ...

  9. JavaScript基础知识从浅入深理解(一)

    JavaScript的简介 javascript是一门动态弱类型的解释型编程语言,增强页面动态效果,实现页面与用户之间的实时动态的交互. javascript是由三部分组成:ECMAScript.DO ...

  10. JavaScript基础知识必知!!!

    JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型. JS作用:表单验证,减轻服务端的压力:添加页面动画效果:动态更改页面内容:Ajax网络请求. 下面简单介 ...

随机推荐

  1. vue双向绑定的原理及实现双向绑定MVVM源码分析

    vue双向绑定的原理及实现双向绑定MVVM源码分析 双向数据绑定的原理是:可以将对象的属性绑定到UI,具体的说,我们有一个对象,该对象有一个name属性,当我们给这个对象name属性赋新值的时候,新值 ...

  2. gcc编译相关tips

    http://blog.csdn.net/benpaobagzb/article/details/51364005 静态库链接时搜索路径顺序: ld会去找GCC命令中的参数-L 再找gcc的环境变量L ...

  3. 配置java项目的intellij idea的运行环境

    才疏学浅,只懂一点点前端的皮毛东西,对于项目运行环境的配置一无所知,今天简单记录一下! 前提:装好了jdk.maven.intellij idea. 1. file菜单->Open...打开从S ...

  4. jar包后台启动--nohup篇

    直接java -jar TestHttps-0.0.1-SNAPSHOT.jar的话是前段启动,但是窗口关闭之类的程序也就关闭了 我们可以nohup java -jar TestHttps-0.0.1 ...

  5. JavaScript循环实例

    几个经典的循环案例: 1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米 var i=0; var h=0.0001; while(true){ i++; h=h*2; ...

  6. Swift3.0 UITextField

    import UIKit private var textfieldd = UITextField() class TextFieldViewController: UIViewController, ...

  7. htpasswd 命令详解

    htpasswd参数 -c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容. -n 不更新passwordfile,直接显示密码 -m 使用MD5加密(默 ...

  8. 【Hdu2089】不要62(数位DP)

    Description 题目大意:给定区间[n,m],求在n到m中没有"62"或"4"的数的个数. 如62315包含62,88914包含4,这两个数都是不合法的 ...

  9. Android Activity生命周期详细解析

    概况 讲Android Activity那怎么都绕不过这张图,这篇文章也是围绕这幅图详细分析. 背景 假设这是你的APP,以此为背景,下面的每个part请结合上图理解. #Case 1 当按下app启 ...

  10. 使用SplitContainer来实现隐藏窗口的部分内容(转)

    有两种方法: (1) Splitter:比较老的方法 (2) SplitContainer:比较新的方法 最终界面如下: 方法一:使用Splitter实现 (1) 在窗口中添加一个Panel控件,即P ...