基础类型 - 数字类型(Number)

1.最基本的数据类型

2.不区分整型数值和浮点型数值

3.所有数字采用64位浮点格式存储,相当于Java和C语言中double格式

4.能表示的最大值 +- 1.7976931348623157 * 10308

5.能表示的最小值为 +-5 * 10 -324

6.NAN (not a number)属于Number类型的一种

整数:

  在javascript中10禁止的整数由数字的序列组成

  精准表达的范围是-9007199254740992(-253) 到 9007199254740992(253)

  超出范围的整数,精准度将受影响

浮点数:

  使用小数点记录数据

  例如:

    3.4  5.6

  使用指数记录数据

  例如:

    4.3e23 = 4.3 * 1023

16进制和8进制数的表达

  16进制数据前面加上0x,八进制前面加0

  16进制数是由0-9,A-F等16个字符组成

  8进制数由0-7等8个数字组成

  16进制和8进制与2进制的换算

基础类型 - 字符串(String)

1.是由unicode字符、数字、标点符号组成的序列

2.字符串常量收尾单引号或双引号

3.Javascript中没有字符类型

4.常用特殊字符在字符串中的表达

5.字符串中部分特殊字符必须加上右划线

6.常用的转义符 \n:换行   \':单引号  \":双引号   \\:右划线

String 数据类型的使用

  特殊字符的使用方法和效果

  unicode的插入方法

<script>
var str="\u4f\nwecome\"js编程\"";
</script>

基础类型 - 布尔型(Boolean)

1.仅有两种值:(在js 中 true/false 都是小写)

  true 代表 1

  false 代表 0

实际运算中 true = 1 , false = 0

2.布尔值也可以看作on/off、1/0对应、1/0对应true/false

3.Boolean 值主要用于Javascript的控制语句:if else .

    <script>
if(1){
alert("OK")
}else {
alert("NO")
}
</script> //输出为 OK

基础类型 - Null & Undefined

Undefined类型

  只有一个值,即Undefined.

  1.当申明的变量未初始化时,该变量默认值为Undefined.

  2.当函数无明确返回值时,返回值为Undefined.

    <script>
var x;
document.write("<h1>"+x+"</h1>") //输出: undefined
</script>

NUll类型

  1.只有一个值,专用值null,undefined实际上也是从值null派生来的,因此ECMAscript定义它们的值相等

  2.尽管这两个值相等,单它们的含义不同,undefined是声明了变量单未对其初始化时赋予该变量的值,null则用于表示尚未存在的对象.

  3.如果函数或方法要返回的是对象,name找都不到该对象时,返回的通常是null

<script>
var x = null;
</script>

数据类型转换

1.js 属于松散类型的程序语言

2.变量在声明的时候并不需要指定数据类型

3.变量只在赋值的时候才会确定数据类型

4.表达式中包含不同类型数据则在计算过程中会强制类型转换

例:

  数字 + 字符串 => 数字转换为字符串

  数字 + 布尔值 => 数字

  字符串 + 布尔值 => 布尔值转为字符串的true或false

规则:

字符串碰到数字或者布尔值,都会将后者转换成字符串.

字符串 > 数字 or 字符串 >布尔值

布尔值 = 数字

   <script>
//数字+字符
console.log(1+"2")
console.log("2"+1)
//
// //数字+布尔值
console.log(1+true)
console.log(1+false)
//
// //字符+布尔值
console.log('1'+true)
console.log('1'+false)
//1true
//1false
</script>

强制类型转换函数

parseInt()强制转换为数字
parseFloat()强制转换为浮点
eval()将字符串强制转换为表达式返回结果
<script>
//parseInt()强制转换为数字
//parseFloat()强制转换为浮点
console.log(parseInt('hello'))
console.log(parseInt('11111'))
console.log(parseInt('111he'))
console.log(parseInt('he111'))
// NaN
//
//
// NaN var x = eval('1+2')
console.log(x)
//
var x = eval('1>2')
console.log(x)
//false
</script>

类型查询函数(typeof)

运算符来判断一个值是否在某中类型的范围内.可以用这种预算符判断一个值是否表示一种原始类型.

    <script>
//typeof
console.log(typeof('hello world'));
console.log(typeof(123));
console.log(typeof(true));
console.log(typeof(null));
console.log(typeof(undefined));
console.log(typeof(parseInt('hello'+1))); console.log(typeof([1,2,3])); //string
//number
//boolean
//object
//undefined
//number
//object
</script>

JavaScript学习 - 基础(二) - 基础类型/类型转换的更多相关文章

  1. JavaScript学习记录二

    title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  2. C#学习笔记二: C#类型详解

    前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...

  3. JavaScript学习笔记(二)——闭包、IIFE、apply、函数与对象

    一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...

  4. JavaScript学习总结(二)——闭包、IIFE、apply、函数与对象

    一.闭包(Closure) 1.1.闭包相关的问题 请在页面中放10个div,每个div中放入字母a-j,当点击每一个div时显示索引号,如第1个div显示0,第10个显示9:方法:找到所有的div, ...

  5. Javascript学习笔记二——操作DOM

    Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...

  6. JavaScript 学习笔记: 扩充类型的功能

    JavaScript 是允许给基本类型扩充功能的.例如,可以通过对Object.prototype增加方法,可以让该方法对所有的对象都可用. 这样的方式对函数,数组,字符串,数字,正则表达式和布尔值同 ...

  7. MVC3+EF4.1学习系列(二)-------基础的增删改查和持久对象的生命周期变化

    上篇文章中 我们已经创建了EF4.1基于code first的例子  有了数据库 并初始化了一些数据  今天这里写基础的增删改查和持久对象的生命周期变化 学习下原文先把运行好的原图贴来上~~ 一.创建 ...

  8. https学习笔记二----基础密码学知识和python pycrypto库的介绍使用

    在更详细的学习HTTPS之前,我也觉得很有必要学习下HTTPS经常用到的加密编码技术的背景知识.密码学是对报文进行编解码的机制和技巧.可以用来加密数据,比如数据加密常用的AES/ECB/PKCS5Pa ...

  9. 1. JavaScript学习笔记——JS基础

    1. JavaScript基础 1.1 语法 严格区分大小写 标识符,第一个字符可以是 $,建议使用小驼峰法, 保留字.关键字.true.false.null不能作为标识符 JavaScript是用U ...

随机推荐

  1. multi_index_container 多索引容器

    multi_index_container是c++ boost库中的一个多索引的容器.因工作中用到了,特来测试试用. #include "stdafx.h" #include &q ...

  2. python 模块 - 序列化 json 和 pickle

    1,引入 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,eval ...

  3. JavaScript中解决jQuery和Prototype.js同时引入冲突问题

    两个库同时都定义了一个叫$的函数,所以在同时使用的时候会发生冲突.jQuery( http://jquery.com/ https://jquery.org/ )中提供了一种返还$的使用权给其他js库 ...

  4. Windows 10更新时出现0x80070422错误

    Windows更新 更新状态 安装更新时出现一些问题,但我们稍后会重试.如果你继续看到此错误,并想要搜索Web或联系支持人员以获取相关信息,一下信息可能会对你有帮助:(0x80070422) 分析原因 ...

  5. C# 获得本机IP、端口等信息地址以及服务器IP信息

    大概是这样子,代码也没多少,直接上代码了.. 引入命名空间: using System.Net; namespace IPExample { public partial class Form1 : ...

  6. (转)Spring文件上传,包括一次选中多个文件

    背景: http://www.cnblogs.com/lixuwu/p/8495275.html已经实现了单文件的上传和下载,多文件的上传是另一种情景,这里记录下来 实现过程 先说前台. 运行以后就是 ...

  7. Linux:从文件中搜索关键字并显示行数(cat,grep函数)

    假如有test1.txt的格式如下图所示: 有test2.txt的内容如下: 现需将test2.txt含有的关键字的行搜索出来并显示行数 则可以用到命令: cat test1.txt | grep - ...

  8. powerdesigner 字段添加注释和默认值

    powerdesigner 字段添加注释和默认值 2017年01月06日 10:59:02 qingzhuoran 阅读数:27161更多 个人分类: powerdesigner   1.选中表,右键 ...

  9. SVN 错误:Error validating server certificate for 'https://xxxxxxx':443... Mac os svn客户端证书验证缓存 解决

    mac上的SVN今天突然间 不好使了 在进行SVN操作是报出警告信息 Error validating server certificate for 'https://xxxxxxx':443 - T ...

  10. 函数和常用模块【day06】:subprocess模块(十)

    本节内容 1.概述 2.前言 3.subprocess模块 4.subprocess.Popen() 一.概述 我们在实际的工作中,需要跟操作系统的命令做交互,但我们如何用python去跟操作系统之间 ...