黑马程序员-JS基础day6-JS内置对象与堆栈-创新互联

内置对象

js中自带的一些对象,并封装了常用的属性和方法,帮助我们快速开发;

目前成都创新互联已为近1000家的企业提供了网站建设、域名、虚拟空间、网站托管维护、企业网站设计、博望网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。1.Math对象

Math数学对象不是构造函数 ,所以我们不需要new 调用,而是直接使用里面的属性和方法即可;

属性代码返回值
圆周率Math.PI3.141592653589793
向下取整

Math.floor(1.1)
Math.floor(1.9)                     

1

1

向上取整

Math.ceil(1.1)

Math.ceil(1.9)

2

2

四舍五入Math.round(1.1)
Math.round(1.5)
Math.round(1.9)
Math.round(-1.1)
Math.round(-1.5)

1
2
2
-1

这个结果是 -1!

绝对值Math.abs(1)
Math.abs(-1)
Math.abs('-1')
Math.abs('pink')
1
1
有隐式转换
NaN 
大/小值

Math.max(1, 99, 3)

Math.max(-1, -10)

Math.max(1, 99, 'pink老师')

Math.max()                         

99

-1

NaN

-Infinity

随机数Math.random()[0,1)的随机数

利用Math.random()随机数可以得到两个数之间的随机整数,也可以随机选取字符;

[1,10]之间的随机整数:

function getRandom(min, max) {

  return Math.floor(Math.random() * (max - min + 1)) + min;

  }

  console.log(getRandom(1, 10));

随机点名:

var arr = ['张三', '张三丰', '张三疯子', '李四', '李思思', 'pink老师'];

  console.log(arr[getRandom(0, arr.length - 1)]);

2.Date日期对象

日期对象 是一个构造函数 必须使用new 来调用创建我们的日期对象

参数格式返回日期格式

new Date()

无参数,返回当前日期

new Date(2019, 10, 1)

Fri Nov 01 2019 00:00:00

返回的是 11月 不是 10月

new Date('2019-10-1 8:8:8')

Tue Oct 01 2019 08:08:08
属性返回值
date.getFullYear()

返回当前日期的年  2019

date.getMonth() 

返回的月份小1个月,记得加1哦

date.getDate()

返回的是 几号

date.getDay()

周一返回 1 周六 6 但周日返回 0

 // 我们写一个 2019年 5月 1日 星期三

  var year = date.getFullYear();

  var month = date.getMonth() + 1;

  var dates = date.getDate();

  var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];

  var day = date.getDay();

  console.log('今天是:' + year + '年' + month + '月' + dates + '日 ' + arr[day]);

3.数组对象

数组对象可以用字面量或者new Array创建,都可以使用数组对象的方法;

检测是否为数组对象的方法:instanceof 或者Array.isArray()

// (1) instanceof  运算符 它可以用来检测是否为数组

  var arr = [];

  var obj = {};

  console.log(arr instanceof Array);     //true

  console.log(obj instanceof Array);     //false

// (2) Array.isArray(参数);  H5新增的方法  ie9以上版本支持

  console.log(Array.isArray(arr));       //true

  console.log(Array.isArray(obj));       //false

数组的属性与方法

属性/方法说明返回值 
push(参数)末尾添加n个元素新的长的
pop()末尾删除1个元素,无参数删除的元素值
unshift(参数)开头添加n个元素新的长度
shift()开头删除1个元素,无参数删除的元素值
reverse()颠倒元素顺序,无参数新的数组
sort(参数)对元素重新排序,参数为函数新的数组
indexOf(参数)查找数组中指定元素的第一个索引值索引号,不存在时,为-1
lastIndexOf(参数)查找数组中指定元素最后一个索引值索引号,不存在时,为-1
toString(arr)将数组转换成字符串字符串
join(‘分隔符’)将数组转换成用符号分隔的字符串字符串
concat()连接两个或多个数组,不影响原数组新数组
slice(begin,end)截取指定区段的数组新数组
splice(begin,n)

从begin开始,删除n个元素

新数组,这里会影响原数组

var arr1 = [13, 4, 77, 1, 7];

  arr1.sort(function(a, b) {                              

  return b - a;                      // 降序的顺序排列 ;return a - b为升序的顺序排列

  });

  console.log(arr1);               // [77,13,7,4,1]

4.字符串对象

基本包装类型:js会把简单数据类型包装成复杂数据类型,这样简单数据类型也可以有属性和方法;

var str = 'andy';

  console.log(str.length);       //4

字符串对象的不可变性:以下代码看似str被改变了,但其实只是str指向了新的地址,之前的字符串依然存在,因此不要大量拼接字符串;

var str = 'andy';

  console.log(str);

  str = 'red';

  console.log(str);

方法/属性说明返回值
index Of(‘字符’,begin)从begin开始查找指定字符一个索引号,不存在时,为-1
lastIndexOf()从后往前找一个索引号,不存在时,为-1
charAt(index)获取指定位置的字符字符
charCodeAt(index)获取指定位置ASCII码ASCII码
str[index]获取指定位置的字符字符,HTML5和IE8+ 支持
concat(str1,str2...)连接字符串
substr(start,length)截取指定长度的字符串,从start开始
slice(start,end)截取指定位置的字符串,end取不到
substring(start,end)基本同slice

replace('a', 'b')

将a替换为b

split('字符串中的分隔符')

将字符转化为数组新数组
toUpperCase()转换大写
toLowerCase()转换小写
堆栈

js中没有堆栈的概念,只是便于理解和学习;

栈:由操作系统自动释放,用于存放参数和变量等的值

堆:由程序员释放,如果程序员不释放,由垃圾回收机制回收;

简单数据类型:是存放在栈里面 里面直接开辟一个空间存放的是值

简单数据传参:

function fn(a) {

  a++;

  console.log(a);  

  }

  var x = 10;

  fn(x);                        //11

  console.log(x);          //10

复杂数据类型:首先在栈里面存放地址 十六进制表示  然后这个地址指向堆里面的数据

// 复杂数据类型传参

  function Person(name) {

  this.name = name;

  }

  function f1(x) { // x = p

  console.log(x.name);            // 2. 这个输出什么 ?  刘德华  

  x.name = "张学友";

  console.log(x.name);            // 3. 这个输出什么 ?   张学友

  }

  var p = new Person("刘德华");

  console.log(p.name);               // 1. 这个输出什么 ?   刘德华

  f1(p);

  console.log(p.name);               // 4. 这个输出什么 ?   张学友

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

分享名称:黑马程序员-JS基础day6-JS内置对象与堆栈-创新互联
分享地址:https://www.cdcxhl.com/article10/csccdo.html

成都网站建设公司_创新互联,为您提供小程序开发电子商务全网营销推广关键词优化静态网站外贸建站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设