博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript基本数据类型
阅读量:5874 次
发布时间:2019-06-19

本文共 3221 字,大约阅读时间需要 10 分钟。

hot3.png

javascript基本数据类型

 

javascript数据类型分为两种:原始类型与对象类型

原始类型: 数字、字符串、布尔值、null、undefined 其中null与undefined代表了各自特殊类型的唯一成员 对象类型: 所谓对象类型便是属性的集合,每个属性都是由键值对组成 普通的对象时无序键值对,有序的键值对便是我们的数组了 还有一个特殊的对象便是函数 函数是具有与他相关联的可执行代码的对象,通过调用函数运行可执行代码并返回结果 若是使用new操作符来新建一个对象我们便称之为构造函数 每个构造函数定义了一个类——由构造函数初始化对象组合的集合(可看做对象类型的子类型) 数组是类(Array) 函数式类(Function) 日期是类(Date) 正则式类(RegExp) 类与函数贯穿js始终

1、数字

javascript是不区分整数与浮点数的,所有数均用浮点数表示

2、Math

现在我们来认识一位与数字非常有关系的对象Math,这个家伙可以干很多事情呢!

Math.round(0.6) 四舍五入

Math.random() 生成一个大于0小于1的伪随机数

运算溢出

当js运算溢出时不会报错,会使用无穷大infinity与无穷小-infinity表示;

若是出现没有意义的运算便会返回NaN,NaN的判断无论如何都是false(他与自身也不相等),所以判断他要使用isNaN()函数

parseInt与parseFloat

parseInt(string, radix) radix,表示转换的基数,也就是我们常说的2进制、8进制、10进制、16进制等。范围从2~36,但我们在JS中一般调用该方法时,基本都是以10为基数进行转换的。 如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

parseInt这个函数非常有用的,可以将一个字符串返回为整数

3、字符串

字符串是由一组16位值组成的不可变有序序列,每个字符通常来源于Unicode字符集。

字符串一旦第一便不会改变,我们使用函数操作他也只是返回了新的字符串,下面介绍下与字符串有关的函数

var s = 'hellow world';s.charAt(0);//hs.charAt(s.length - 1);//ds.substring(1, 4);ell第2到第四的字符s.slice(1, 4);//同上s.slice(-3);//rld,最后三个字符s.indexOf('l');//2首次出现l的位置s.lastIndexOf('l');//最后一次出现l的位置,10s.indexOf('l', 3);//3在在位置3以后首次出现l的位置s.split(', ');//使用", "分割将字符串变为数组,非常有用的家伙s.replace('h', 'H');//全文字替换,支持正则表达式s.toUpperCase();//转换为大写

4、布尔值(Boolean)

布尔值只有true与false两个

5、null和undefined

null在js中式用来描述“空值”的,使用typeof null 会返回对象(object),也就是说null为特殊的对象,但是该对象只有他一个人;

undefined表示值的空缺,表示变量没有被初始化,比如

var a,这种情况a便是undefined,若是我们定义一个对象,但他开始没值便可设置其为null。

6、包装对象

我们前面看到s为字符串,却可以执行很多函数,这简直就是对象的行为,原因是他确实变成对象了。
javascript通过new String(s),将字符串转换为对象,所以s便拥有了方法,一旦函数操作结束新建的对象便会被销毁,
数字与bool值是一样的包装的。

7、类型转换

javascript的类型非常灵活,类型的转换有时候便会自动发生:

10 + ' sss' //=> 10 sss '7' * '4'/281 - 'd'//NaN 1 - 'd' + 's'//NaNs(注意啦)

8、数组

js中的数组无比的灵活!!!因为他可以随意的装东西,而且他的长度便会也是非常灵活的。

初始化

var arr = []; var arr = new Array();

length

数组的长度是个神奇的东东:

动态添加数组项

var arr = [];arr[arr.length] = 1;...arr.push(1);...
我们来看看数组的函数

join

该函数与字符串的spilt对应,可以将一个数转换为字符串,很不错的家伙

var arr = [1, 2, 3];arr.join();//'1,2,3' arr.join(';');//'1;2;3'

reverse

用于翻转数组

concat()

创建并返回一个新数组:

var a = [1, 2];a.concat(3, 4);//1,2,3,4 a.concat([2], [3, 3]); //1,2,2,3,3a.concat(4, [5, [6, 7]]);//1,2,3,4,5,[6,7]

slice()

返回指定数组的片段:

var arr = [1, 2, 3, 4, 5];a.slice(0, 3);//1,2,3 a.slice(3);//4,5 a.slice(1, -1);//2,3,4 a.slice(-3, -2);//3 //负数便是相对于最后一个元素的位置

9、函数

函数式js的核心(其实函数是任何语言的核心)

10、变量与作用域

变量声明

js使用var 申明变量:

var a = 1;  var a = 1, b = 2;

重复声明

重复声明一个变量时无害的,若重复声明且赋值的话,这个就和简单的赋值语句一样了:

变量作用域

作用域即程序源代码中定义这个变量的区域。

在函数内的变量具有局部变量的特性,不会被外部变量访问。

11、运算符

(1)、||

或用于if条件判断没有什么说的,但是我们在赋值运算中可能会有不同的用法:

function (a) {a = a || {};} //此处若是a不存在便初始化a为对象以免报错

这个用法是非常有用的。

(2)、in运算符

in用于判断一个属性是否在对象中:

var obj = {x: 1, y: 2};'x' in obj;//true 'z' in obj;//false for (var k in obj) { //遍历对象 }

12、instanceof运算符

该操作符用于判断某个对象是否属于某类:

var d = new Date();d instanceof Date; //true d instanceof Object;//true d instanceof Number;//false //

13、eval运算符

eval这个家伙很强大!!!他相当于一个冬天js编译器,可以将你的字符串作为js执行,当然安全性效率会有一定问题。

eval('2+3');//5 function a() {alert('aa');}eval('a();');

14、typeof运算符

typeof用于判断一个对象的类型:

typeof undefined; //undefind typeof null; //object typeof true; //boolean typeof 1; //或者NaN;number typeof 'sss'; //string typeof function () { }; //function

15、delete运算符

用于删除对象的属性

转载于:https://my.oschina.net/longteng2013/blog/138074

你可能感兴趣的文章
CentOS 6.9配置网卡IP/网关/DNS命令详细介绍及一些常用网络配置命令(转)
查看>>
python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
查看>>
C# 解决窗体闪烁
查看>>
CSS魔法堂:Transition就这么好玩
查看>>
【OpenStack】network相关知识学习
查看>>
centos 7下独立的python 2.7环境安装
查看>>
[日常] 算法-单链表的创建
查看>>
前端工程化系列[01]-Bower包管理工具的使用
查看>>
使用 maven 自动将源码打包并发布
查看>>
Spark:求出分组内的TopN
查看>>
Python爬取豆瓣《复仇者联盟3》评论并生成乖萌的格鲁特
查看>>
关于跨DB增量(增、改)同步两张表的数据小技巧
查看>>
飞秋无法显示局域网好友
查看>>
学员会诊之03:你那惨不忍睹的三层架构
查看>>
vue-04-组件
查看>>
Golang协程与通道整理
查看>>
解决win7远程桌面连接时发生身份验证错误的方法
查看>>
C/C++ 多线程机制
查看>>
js - object.assign 以及浅、深拷贝
查看>>
python mysql Connect Pool mysql连接池 (201
查看>>