JavaScript的类型体系
一:总体的类型系
基本类型:数字类型(number),字符串类型(string),布尔类型(boolean);
复合类型:对象(对象,函数,数组等);
无类型:null(有定义),undefined(未定义).
js中获取类型:typeof
声明类型统一用:var
基本类型又可以称为数据类型,每种数据类型都有相对应的对象类型(包装类型)。
包装类型的作用:提供属性,方法等功能。
number--Number
string--String
boolean--Boolean
var number=10;
number.toString();//number是一个基本类型,它又是如何能实现toString()方法的呢?
在数据操作的过程中,number在内存中创建临时的与之对应的包装类型,并执行toString方法,将结果返回,同时释放这个包装类型。
在JavaScript中判断等于和不等于有两种方式:
1.==和!=
只判断结果是否相同(存在隐式转换的问题)
2.===和!==
判断结果和类型是否都相同
var num=1;
var str="1"; num==str; //返回true
num===str;//返回false
二:三种基本的数据类型
1.string类型:字符串类型
+;表示连接
var str1="Hello";
var str2="JavaScript"; var str=str1+str2;//str="Hello JavaScript"
length;字符串长度
var str="dennis"; var length=str.length;//length的值为6
charAt(i);获得字符串中某一个位置的字符
var str="dennis";
var char=str.charAt(1);//char=e
substring(StartIndex,EndIndex);获取子字符串,从开始位置到结束位置
substr(StartIndex,Length);获取子字符串,从开始位置到指定长度的位置
var str="Hello JavaScript";
var str1=str.substring(0,6); //str1="Hello"
var str2=str.substr(2,6); //str2="llo Ja"
split('|',数字);将字符串按某个字符分离,其中数字参数是可选的。
<script type="text/javascript"> var str="How are you doing today?" document.write(str.split(" ") + "<br />")
document.write(str.split("") + "<br />")
document.write(str.split(" ",3)) </script>
结果:
How,are,you,doing,today?
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
How,are,you
2. number类型:数字类型
number类型中有很多方法,参考 http://www.w3school.com.cn/jsref/jsref_obj_number.asp
几种特殊的数字类型:NaN(不是一个数字的数字类型),判断可以用 isNaN();
Infinity 无穷,判断可以用 isFinite();
var num=0/0;
alert(num); //输出NaN var num1=10/0;
alert(num1); //输出Infinity
对应的包装类型Number
Number.MAX_VALUE //数字的最大值
Number.MIN_VALUE //数字的最小值
Number.POSITIVE_INFINITY //正无穷
Number.NEGATIVE_INFINITY //负无穷
document.write(Number.MAX_VALUE + "<br />"); //数字的最大值 document.write(Number.MIN_VALUE + "<br />"); //数字的最小值 document.write(Number.POSITIVE_INFINITY + "<br />"); //正无穷 document.write(Number.NEGATIVE_INFINITY + "<br />"); //负无穷)
结果:
1.7976931348623157e+308
5e-324
Infinity
-Infinity
3.boolean类型:布尔类型
布尔(逻辑)只能有两个值:true 或 false。
对应的包装类型Boolean用法参见:http://www.w3school.com.cn/jsref/jsref_obj_boolean.asp
JavaScript的类型体系的更多相关文章
- JavaScript事件类型
JavaScript事件类型 Web浏览器中可能发生的事件有很多类型.这里我将主要将下面几种常用的事件类型: UI事件 焦点事件 鼠标与滚轮事件 键盘与文本事件 复合事件 变动事件 HTML5事件 设 ...
- Flow: JavaScript静态类型检查工具
Flow: JavaScript静态类型检查工具 Flow是Facebook出品的,针对JavaScript的静态类型检查工具.其代码托管在github之上,并遵守BSD开源协议. 关于Flow 它可 ...
- javascript 操作符类型隐性转换
javascript 操作符类型隐性转换 (一).一元操作符只能操作一个值的操作符叫做一元操作符1.递增和递减操作符a. 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1的操作 ...
- javascript学习-类型判断
javascript学习-类型判断 1.类型判断的的武器 javascript中用于类型判断的武器基本上有以下几种: 严格相等===,用来判断null,undefined,true,false这种有限 ...
- JavaScript的类型自动转换高级玩法JSFuck
0 前言 最开始是不小心在微信公众号(程序员大咖)看到一篇JS的高逼格代码,然后通过里面的链接跳转到了JSFuck的wiki,就像顺着迷宫找宝藏的感觉,感叹JS的自动类型转换的牛逼. 1 样例 (!( ...
- 面向对象的JavaScript --- 动态类型语言
面向对象的JavaScript --- 动态类型语言 动态类型语言与面向接口编程 JavaScript 没有提供传统面向对象语言中的类式继承,而是通过原型委托的方式来实现对象与对象之间的继承. Jav ...
- javascript 字典类型的使用
javascript 字典类型的使用 1.使用Array: var arr = new Array(); arr["zs"] = "zhangsan"; ar ...
- javascript变量类型及作用域
javascript变量类型及作用域 一.简介 变量类型 ECMAScript变量可能包含两种不同类型的数据值:基本类型和引用类型. 基本类型 基本类型指的是简单的数据段,5种基本数据类型:undef ...
- js课程 1-3 Javascript变量类型详解
js课程 1-3 Javascript变量类型详解 一.总结 一句话总结:js对象点(属性方法),json对象冒号(属性方法).属性和方法区别只有一个括号. 1.json对象中的函数的使用? 函数名 ...
随机推荐
- tap事件的原理详解
点击事件延迟问题所在: 在移动端中,由于两次触摸是放大操作,,所以当你点击一次的时候,浏览器会等待300ms,看用户是否会进行第二次点击,如果没有的话,才会执行点击事件 为什么要解决: 随着h5游戏, ...
- Centos 7 下搭建 Dokuwiki
Centos 7 下搭建 Dokuwiki # Dokuwiki 是php的,所以要先搭建php环境,下载 apache和php,第1.2步下载完,相关的依赖都会下载## 1.下载 httpdyum ...
- 深入理解Spring系列之十一:SpringMVC-@RequestBody接收json数据报415
转载 https://mp.weixin.qq.com/s/beRttZyxM3IBJJSXsLzh5g 问题原因 报错原因可能有两种情况: 请求头中没有设置Content-Type参数,或Conte ...
- sqlmap的使用方法 ——时光凉春衫薄
普通注入 Sqlmap -u “http://www.xxxxxx.com/xxxx/xxx/xxx.xxx?xx=xx” --dbs 找到一个sql的注入点 探测他的库名 access的直接探表 ...
- Django1.10中文文档—模型
模型是你的数据的唯一的.权威的信息源.它包含你所储存数据的必要字段和操作行为.通常,每个模型都对应着数据库中的唯一一张表. 基础认识: 每个model都是一个继承django.db.models. ...
- flask插件系列之flask_caching缓存
前言 为了尽量减少缓存穿透,同时减少web的响应时间,我们可以针对那些需要一定时间才能获取结果的函数和那些不需要频繁更新的视图函数提供缓存服务,可以在一定的时间内直接返回结果而不是每次都需要计算或者从 ...
- http状态码说明
在学习网页设计的时候都应该知道状态码,但我们常见的状态码都是200,404,下面介绍其他的状态值 1开头的http状态码表示临时响应并需要请求者继续执行操作的状态代码. 100 (继续) 请求者应 ...
- openjudge-NOI 2.6-2000 最长公共子上升序列
题目链接:http://noi.openjudge.cn/ch0206/2000/ 题解: 裸题,不解释(题目有毒) #include<cstdio> #include<algori ...
- Linux中涉及到环境变量的文件
1. 系统级 (a) /etc/profile : 在用户登录操作系统时,定制用户环境的第一个文件,应用于登录的每一个用户 ==> 该文件一般调用/etc/bash.bashrc文件 (b)/e ...
- python3.6升级及setuptools、pip安装
升级python3.6 1.打开官网www.python.org,找到最新3.6.3版本,复制下载链接 2.创建/app目录,wget下载到该目录下,编译安装 mkdir /app cd /app w ...