2020-04-02 JavaScript[6](二十)

内置对象

Math对象

  • Math对象中封装很多与数学相关的属性和方法
  • 属性PI
console.log(Math.PI);
  • 最大值/最小值
Math.max();
Math.min();
  • 取整
Math.ceil();//天花板,向上取整
Math.floor();//地板,向下取整
Math.round();//四舍五入,如果是.5,则取更大的那个数
  • 随机数
Math.random();//返回一个[0,1)之间的数,能取到0,取不到1
  • 绝对值
Math.abs();//求绝对值
  • 次幂和平方
Math.pow(num, power);//求num的power次方
Math.sqrt(num);//对num开平方
  • 生成随机颜色
var colorA = parseInt( Math.random() * 256 );
var colorB = parseInt( Math.random() * 256 );
var colorC = parseInt( Math.random() * 256 );
return 'rgb('+ colorA + "," + colorB + ',' + colorC +')';

Date对象

Date对象用来处理日常和时间
  • 创建一个日期对象
var date = new Date();//使用构造函数创建一个当前时间的对象
var date = new Date("2017-03-22");//创建一个指定时间的日期对象
var date = new Date("2017-03-22 00:52:34");//创建一个指定时间的日期对象
var date = new Date(2017, 2, 22, 0, 52, 34);
var date = new Date(1523199394644);//参数:毫秒值
  • Date构造函数的参数
1. 毫秒数 1498099000356        new Date(1498099000356)
2. 日期格式字符串  '2015-5-1'   new Date('2015-5-1')
3. 年、月、日……               var date = new Date(2017, 2, 22, 0, 52, 34);月份从0开始
  • 日期格式化
date.toString();//默认的日期格式
date.toLocaleString();//本地风格的日期格式(兼容性)
date.toDateString();
date.toLocaleDateString();
date.toTimeString();
date.toLocaleTimeString();
  • 获取日期的指定部分
getMilliseconds();//获取毫秒值
getSeconds();//获取秒
getMinutes();//获取分钟
getHours();//获取小时
getDay();//获取星期,0-6    0:星期天
getDate();//获取日,即当月的第几天
getMonth();//返回月份,注意从0开始计算,这个地方坑爹,0-11
getFullYear();//返回4位的年份  如 2016
  • 时间戳
var date = +new Date();//1970年01月01日00时00分00秒起至现在的总毫秒数

Array对象

数组对象在JavaScript中非常的实用
  • 数组转换
//语法:array.join(separator)
//作用:将数组的值拼接成字符串

var arr = [1,2,3,4,5];
arr.join();//不传参数,默认按【,】进行拼接
arr.join("-");//按【-】进行拼接
  • 数组的增删
array.push();//从后面添加元素,返回新数组的length
array.pop();//从数组的后面删除元素,返回删除的那个元素
array.unshift();//从数组的前面的添加元素,返回新数组的长度
array.shift();//从数组的最前面删除元素,返回删除的那个元素
  • 数组的翻转与排序
array.reverse();//翻转数组
array.sort();//数组的排序,默认按照字母顺序排序

//sort方法可以传递一个函数作为参数,这个参数用来控制数组如何进行排序
arr.sort(function(a, b){
  //如果返回值>0,则交换位置
  return a - b;
});
  • 数组的拼接和截取
//concat:数组合并,不会影响原来的数组,会返回一个新数组。
var newArray = array.concat(array2);

//slice:数组切分,复制数组的一部分到一个新数组,并返回这个数组 不修改原数组
//原来的数组不受影响,包含begin,不包含end
var newArray = array.slice(begin, end);

//splice:删除数组元素或者增加数组元素或者替换数组元素
//start:开始位置  deleteCount:删除的个数  items:替换的内容
array.slice(start, deleteCount, [items]);
  • 数组查找元素
//indexOf方法用来查找数组中某个元素第一次出现的位置,如果找不到,返回-1
array.indexOf(search, [fromIndex]);

//astIndexOf()从后面开始查找数组中元素出现位置,如果找不到,返回-1
array.lastIndexOf(search, [fromIndex]);
  • 清空数组
array.splice(0,array.leng);//删除数组中所有的元素
array.length = 0;//直接修改数组的长度
array = [];//将数组赋值为一个空数组,推荐

基本包装类型

  • 简单数据类型是没有方法的,为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String/Number/Boolean
  • 基本包装类型:把基本类型包装成复杂类型
var num = 123;
var result = num.toString();
//发生了三件事情
1. 把简单类型转换成复杂类型:var s = new Number(num);
2. 调用包装类型的indexOf方法:var result = s.toString();
3. 销毁刚刚创建的复杂类型

Number对象

  • Number对象是数字的包装类型,数字可以直接使用这些方法
toFixed(2)//保留2位小数
toString();//转换成字符串

Boolean对象

  • Boolean对象是布尔类型的包装类型
toString();//转换成字符串

String对象

  • 字符串可以看成是一个字符数组(伪数组)。因此字符串也有长度,可以进行遍历
  • 查找字符串
indexOf://获取某个字符串第一次出现的位置,如果没有,返回-1
lastIndexOf://从后面开始查找第一次出现的位置。如果没有,返回-1
  • 去除空白
trim();//去除字符串两边的空格,内部空格不会去除
  • 大小写转换
toUpperCase://全部转换成大写字母
toLowerCase://全部转换成小写字母
  • 字符串拼接与截取
//字符串拼接
//可以用concat,用法与数组一样,但是字符串拼串我们一般都用+

//字符串截取的方法有很多,记得越多,越混乱,因此就记好用的就行
slice ://从start开始,end结束,并且取不到end。
substring ://从start开始,end结束,并且取不到end
substr ://从start开始,截取length个字符。
  • 字符串切割
//split:将字符串分割成数组(很常用)
//功能和数组的join正好相反。
var str = "张三,李四,王五";
var arr = str.split(",");
  • 字符串替换
replace(searchValue, replaceValue)
//参数:searchValue:需要替换的值    replaceValue:用来替换的值
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,406评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,976评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,302评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,366评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,372评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,457评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,872评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,521评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,717评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,523评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,590评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,299评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,859评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,883评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,127评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,760评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,290评论 2 342