目录

一、内置对象

Math对象

Data日期

数组对象

字符串对象

字符串的不可变

根据字符返回位置

根据位置返回字符(重点)

字符串基本方法(重点)

字符串的替换与转换

二、简单类型和复杂类型

简单类型传参

复杂类型传参


一、内置对象

JavaScript中的对象分为3种:自定义对象、内置对象、浏览器对象。

内置对象:JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)。

JavaScript提供了多个内置对象:Math、Date、Array、String等。

查阅文档:MDN 网页文档 (mozilla.org)

Math对象

Math数学对象不是一个构造函数,所有我们不需要new来调用。

1.绝对值

Math.abs('-1');//隐式转换,会把字符型-1转换成数字型。

2.三个取整方法

        Math.floor();  //向下取整 往最小取值Math.ceil();  //向上取整 往最大取值Math.round(); //四舍五入,.5往大了取,如-1.5取-1

3.随机数方法

Math.random(); //返回一个大于等于0小于1的随机小数,这个方法里面不跟参数
Math.floor(Math.random()*(max-min+1))+min;//得到两个数之间的随机整数

Data日期

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

        var date = new Date();console.log(date);
  • 如果没有参数,返回当前系统的当前时间
  • 参数常用的写法,数字型:2022,11,7或者字符串型'2022-11-7 8:8:8'

日期格式化

注意:返回的月份小1个月,月份要+1。

获取日期的总的毫秒形式(时间戳):

1.通过valueOf()

        //获取距离1970年1月1日过去了多少毫秒数var date = new Date();console.log(date.valueOf());

2.通过getTime()

        //获取距离1970年1月1日过去了多少毫秒数var date = new Date();console.log(date.getTime());

3.简单的写法(最常用的写法)

        var date1 = +new Date();

4.H5新增的方法

        console.log(Date.now());

数组对象

创建数组

1.利用数组字面量

var arr = [1,2,3];

2.利用new Arry()

        var arr = new Array();//创建了一个空的数组var arr1=new Array(2);//这个2表示数组的长度为2,里面有两个空的数组元素var arr2=new Array(2,3);//等价于[2,3]表示里面有2个数组元素是2和3

检测是否为数组

1.instanceof检测

        var arr = [];console.log(arr instanceof Array);

2.H5新增方法,ie9以上版本才可以

Array.isArray(参数);

添加删除数组元素的方法

数组排序

        var arr1 = [13, 4, 77, 1, 7];arr1.sort(function (a, b) {return a - b;//升序排列return b - a;//降序排列});

数组索引方法

 数组转换成字符串

 字符串对象

基本包装类型:就是把简单数据类型包装成为复杂数据类型,这个简单数据类型就有了属性和方法。

JavaScript给String、Number和Boolean提供了基本包装类型。

        var str = 'andy';console.log(str.length);//1.把简单数据类型包装为复杂数据类型var temp = new String('andy');//2.把临时变量的值给strstr = temp;//3.销毁这个临时变量temp = null;

字符串的不可变

指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。

因为字符串的不可变,所以不要大量的拼接字符串

根据字符返回位置

字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。

根据位置返回字符(重点)

字符串基本方法(重点)

字符串的替换与转换

        //1.替换字符replace('被替换的字符','替换为的字符') 它只会替换第一个字符串var str = 'andyandy';console.log(str.replace('a', 'b'));//有一个字符串'abcoefoxyozzopp'将里面所以的o替换为*var str1 = 'abcoefoxyozzopp';while (str1.indexOf('o') != -1) {str1 = str1.replace('o', '*');}console.log(str1);//2.字符转换为数组 split('分隔符');jion将数组转换成字符串var str2 = 'red,pink,blue';console.log(str2.split(','));

二、简单类型和复杂类型

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型。

  • 值类型:简单数据类型/基本数据类型,在存储时变量中存储的就是值本身,因此叫做值类型 string,number,Boolean,undefined,null

简单数据类型null返回的是一个空的对象object,如果有个变量打算存储对象,但是暂时没想好放什么,这个时候就用null

  • 引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型。通过new关键字创建的对象(系统对象、自定义对象),如Object、Array、Date等

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

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

注意:JavaScript中没有堆栈的概念。

简单类型传参

函数的形参也可以看做是一个变量,当我们把一个值类型变量作为参数传给函数的形参时,其实是把变量在栈空间里的值复制了一份给形参,那么在方法内部对相残做任何修改,都不会影响到外部变量。

复杂类型传参

函数参数也可以看做是一个变量,我们把引用类型变量传给形参时,其实是把变量在栈空间里保存的堆地址复制给了形参,形参和实参其实保存的是同一个堆地址,所以操作的是同一个对象。

【前端】JavaScript基础(二)相关推荐

  1. Web前端-JavaScript基础教程上

    Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...

  2. Web前端-JavaScript基础教程下

    Web前端-JavaScript基础教程下 <script>有6个属性: async对外部脚本有效,可以用来异步操作,下载东西,不妨碍其他操作. charset为src属性指定字符集. d ...

  3. 前端---JavaScript基础4

    文章目录 前端---JavaScript基础3 call&apply 原型链 原型链操作 例子:按钮组件封装:(类似于Bootstrsp里的按钮组件封装) 前端-JavaScript基础3 c ...

  4. 前端---JavaScript基础3

    文章目录 前端---JavaScript基础3 普通对象与函数对象 原型及属性判断 构造函数继承 原型继承 组合继承 寄生组合式继承 前端-JavaScript基础3 普通对象与函数对象 原型及属性判 ...

  5. 前端---JavaScript基础2

    文章目录 前端---JavaScript基础2 对象类型判断 call函数 对象属性操作 深拷贝方法 前端-JavaScript基础2 重构以下代码:(以面向对象的方式) 重构后:(其中this指针问 ...

  6. 前端---JavaScript基础1

    文章目录 前端---JavaScript基础1 数据类型 面向对象 对象创建方式 对象类型判断 前端-JavaScript基础1 JS是 解释型语言:跨平台 慢 编译型语言:不能跨平台 快 数据类型 ...

  7. 菜鸟学前端--javascript基础

    在学习过css相关的知识,有了前端工程师的一些基础知识.但要较好的掌握前端,必须要学习好javascript的知识. 下面将从基本语法.变量.关键字.保留字.语句.函数.BOM等角度阐释. 一.基本语 ...

  8. 前端JavaScript基础知识点

    JavaScript基础 阶段说明 JavaScript基础 Web API JavaScript高级 ##第一天重点内容 变量的声明及使用 数据类型 类型转换 运算符 JavaScript的组成 E ...

  9. 前端JavaScript基础

    目录 JavaScript基础 1:JS概述 1.1:历史: 1.2:现状: 1.3:特点: 1.4:应用场景 2.搭建开发环境 2.1:浏览器: 2.2:服务器端 2.3:运行JS 3.语法规范 4 ...

  10. 【JavaScript基础-二维数组】JavaScript修改二维数组的某个元素时,其上下元素也受到影响

    JavaScript修改二维数组的某个元素时,其上下元素也受到影响 发布:2021年8月15日18:54:56 前言 在研究背包问题时,一开始往往会用二维数组的形式来描述,这样会便于理解.但是,我在操 ...

最新文章

  1. 把激光雷达放在iPad上是怎样的体验?看到“测距仪”App的效果我震惊了
  2. linux——系统日志的信息、采集、查看、保存
  3. JZOJ 5638. 【NOI2018模拟4.8】IIIDX
  4. 【Python】Python之函数讲解
  5. 【搜索引擎基础知识1】搜索引擎的技术架构
  6. 软件测试qa等级考核制度,QA质量规范
  7. 如何查看服务器数据库型号,如何查看服务器里的数据库
  8. SAP License:SAP中的成本核算模型(调侃版)
  9. networkx怎么显示图_如何将标签添加到networkx图形中的节点?
  10. 2.2 Zend_Controller 基础
  11. 设计一个服务器资源管理系统,基于虚拟化技术的服务器资源管理系统的设计与实现.pdf...
  12. 计算机基础与程序设计
  13. 为什么安装了python桌面没有图标怎嘛办_安装了软件找不到图标怎么办_电脑软件安装了为什么不见图标...
  14. stm32h750电路_STM32H750开发板
  15. rangecoder
  16. echarts世界地图中英文转换
  17. ftp服务器空文件夹不让删,FTP不能删除(修改)文件夹的问题?(转载)
  18. SSD硬盘SATA接口和M.2接口区别(详细)总结
  19. 如何让你的小刺猬顺刺
  20. Excel如何设置下拉列表

热门文章

  1. 赤壁游戏服务器获取玩家角色信息失败,赤壁进不去呀`````没服务器````
  2. 微信图片过期怎么办?如何查看微信过期图片?3步即可
  3. 想提高团队技术,来试试这个套路! (作为个人提高的套路也行呢)
  4. 图灵奖得主Bengio:深度学习不会被取代,我想让AI会推理、计划和想象
  5. DBeaver导出结果集为CSV文件,数据用引号括起来
  6. 【学习笔记】第三章 Python在高等数学和线性代数中的应用
  7. ps aux 中的 VSZ 代表什么意思,RSS 代表什么意思
  8. 高等数学(第七版)同济大学 习题3-7 个人解答
  9. 知道Unicode表的数字,怎么用java推出相对应的日文?
  10. Django电商项目(八)订单生成、悲观锁、乐观锁