IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScrip零基础入门知识总结(基本引用类型) -> 正文阅读

[JavaScript知识库]JavaScrip零基础入门知识总结(基本引用类型)

本章内容

  1. 理解对象
  2. 基本JavaScript数据类型
  3. 原始值和原始值包装类型

Date

概述:Date类型将日期保存为协调世界时间1970年1月1日午夜至今经过的毫秒数,使用这种存储格式Date类型可以精确表示1971年1月1日往后的多年
创建Date类型对象------使用new操作符可以调用Date构造函数,代码分析如下:

let date=new Date()//调用了构造函数
// 注意:在不传参的情况下,创建的Date对象将保存当前的日期
console.log(date)//Mon Sep 13 2021 22:34:08 GMT+0800 (中国标准时间)

注意:基于其他的日期时间创建它,必须传入其毫秒数
支持的的日期格式

  1. “月/日/年”,如:13/9/2021
  2. ”月名,日,年“:May,13,2021
  3. “周几 月名 日年时:分:秒时区”,如:Mon Sep 13 2021 22:34:08 GMT+0800
  4. 例子代码分析如下:
//注意:两个辅助方法:Date().parse和Date().UTC
//1.Date().parse---接收一个表示日期的字符串参数--
let date=new Date(Date.parse("May 23,2021"))
// 如果parse不传参表示日期则返回NaN
let date=new Date(Date.parse())
console.log(date)//NaN

Date基本方法

  1. Date().parse–接收一个表示日期的字符串参数
  2. Date().UTC–返回日期的毫秒表示,传给它的参数是年 零起点的月数,日,时,分,秒,毫秒。(只有前两个是必须的)
  3. Date.Now()—表示返回方法执行日期和时间的毫秒数(代码分析如下)
//起始时间
let start=Date.now();
//调用函数
// doSomething();
for(let i=0;i<10;i++)
{
    console.log(i)
}
//结束时间
let stop=Date.now()
result=stop-start
console.log(result)//4
  1. toLocaleString()----返回和浏览器运行本地环境一致的日期和时间
let date=new Date();
console.log(date.toLocaleDateString())//2021/9/13
  1. toString()----返回带时区信息的日期和时间,而时间用24小时制表示
let date=new Date();
console.log(date.toString())//Mon Sep 13 2021 23:17:16 GMT+0800 (中国标准时间)
  1. valueOf()----不返回字符串,返回的是日期的毫秒表示,操作符可以直接使用它返回值
let date1=new Date(2021,9,13);
let date2=new Date(2021,9,14);
console.log(date1>date2);//false
console.log(date1<date2);//true

Date日期格式化方法

  1. toDateString()—显示日期中的周几 月 日 年(格式特定于实现)
let date1=new Date();
console.log(date1.toDateString());//Mon Sep 13 2021
  1. toTimeString()----显示日期的时 分 秒和时区(格式特定于实现)
let date1=new Date();
console.log(date1.toTimeString());//23:28:49 GMT+0800 (中国标准时间)
  1. toLocaleDateString()—显示日期中的周几 月 日 年(格式特定于实现和地区)
let date1=new Date();
console.log(date1.toLocaleDateString());//2021/9/13

  1. toLocaleTimeString()—显示日期的时 分 秒和时区(格式特定于实现和地区)
let date1=new Date();
console.log(date1.toLocaleTimeString());//下午10:41:10
  1. toUTCString()—显示完整的UTC日期(格式特定于实现)
let date1=new Date();
console.log(date1.toUTCString());//Tue, 14 Sep 2021 14:43:18 GMT

日期/时间组件方法(使用方式和上面方法一样,下面方法只作简略陈述)

  1. getTime()----返回日期的毫秒表示,与valueOf()效果一样
  2. setTime()----设置日期的毫秒表示,从而修改整个时间
  3. getFullYear()—返回4位数年
  4. getUTCFullYear()—返回UTC4位数年
  5. setFullYear()—设置4位数年
  6. setUTCFullYear()—设置UTC4位数年
  7. getMonth()—返回日期的月(0表示1月,11表示12月)
  8. getUTCMonth()----返回UTC日期的月(0表示1月,11表示12月)
  9. setMonth(month)—设置日期的月(month为大于0的数值,大于11加年)
    10.setUTCMonth(month)—设置UTC日期的月(month为大于0的数值,大于11加年)
    11.getDate()—返回日期中的日(1~31)
    12.getUTCDate()-- 返回UTC日期中的日(1~31)
    13.setDate(date)—设置日期中的天数(date大于当月天数,则加月)
    14.时/分/秒等获取和设置方法和上面的类似,在这里就不一一列举了

原始值包装类型

概述为了方便操作原始值,ECMAScript提供了3种特殊的引用类型:Boolean,Nunber,String.他们具有其他引用类型的一样的特点,同时也具有与各自原始类型对应的特殊行为
注意:1.当用到某个原始值的方法或属性时,后台都会创建一个相应的原始包装类型的对象,从而暴露出操作原始值的各种方法
2.在以读模式访问字符串值的任何时候,后台都会执行以下3步

  1. 创建一个string类型的实例(类型也可以是Number boolean)
  2. 调用实例上的特定方法
  3. 销毁实例
  4. 代码分析如下(以string为例)
    let s1=new String("some txt");
    let s2=s1.substring(2);
    s1=null

**引用类型和原始包装类型的主要区别:**在于对象的生命周期,在通过new实例化引用类型后,得到的实例会在离开作用域时被销毁,而自动创建的原始值包对象只存在于访问它的那行代码执行期间,所以不能在运行时给原始值添加属性和方法。代码分析如下:


let s1="some text";
s1.color="red";
console.log(s1.color);//undefined

注意:使用new调用原始值包装类型的构造函数,与调用同名的转型函数并不一样,代码分析如下:

let value="25";
let number=Number(value);//转型函数
console.log(typeof number);//number
let obj=new Number(value);//构造函数
console.log(typeof obj);//object
//变量number中保存的是一个值为25的原始值,而变量obj中保存的是一个Number的实例

Boolean
*概述:*Boolean对应布尔值的引用类型,创建一个Boolean对象,就使用Boolean对应的构造函数,并传参true或false
创建构造函数:

let booleanObject=new Boolean(true);

注意:Boolean实例会被重写valueOf()方法,返回一个原始值true或false,tostring方法被调用时也会被覆盖,返回一个true或false
原始值和引用值的区别(Boolean对象):

  1. typeof操作符原始值返回“Boolean”,但引用值返回“object”
  2. Boolean对象是Boolean类型的实例,在使用instanceof操作符返回true,但对原始值返回false
  3. 理解原始布尔值和Boolean对象之间的区别非常重要,强烈建议永远不要使用后者
  4. 代码分析如下:
let falseObject=new Boolean(false);
let falseValue=false;
console.log(typeof falseObject);//object
console.log(typeof falseValue);//boolean
console.log(falseObject instanceof Boolean);//true
console.log(falseValue instanceof Boolean);//false

Number
概述:Number是对应数值的引用类型,创建一个Number对象,就使用Number对应的构造函数,并传入一个数值
创建:let numberObject=new Number(12);
注意:Number类型重写valueOf() toLocalString()和toString()方法
Number方法:

  1. valueOf()—返回该对象表示的原始数值
  2. toLocalString()和toString()–返回数值字符串,注意toString可以接收一个表示基数的参数,并返回相应基数形式的数值字符串
let num=10;
console.log(num.toString());//10
console.log(num.toString(2));//1010
console.log(num.toString(8));//12
console.log(num.toString(10));//10
console.log(num.toString(16));//a
  1. toFixed()—返回包含指定小数点位数的数值的字符串
let num=10;
console.log(num.toFixed(2));'10.00'
//如果数值本身的小数位超过了参数指定的位数,则四舍五入
let num=10.006;
console.log(num.toFixed(2));'10.01'

4.isInteger()方法与安全整数----用于辨别一个数值是否保存为整数,有时候小位数的0可能会让人误以为数值是一个浮点值

conlose.log(Number.isInteger(1));//true
conlose.log(Number.isInteger(1.0));//true
conlose.log(Number.isInteger(1.02));//false

注意:处理原始数值和引用数值是typeof和instanceof会返回不一样的结果,代码如下:

let numberIbject=new Number(10);
let numberValue=10;
console.log(typeof numberObject)//object
consloe.og(typeof numberValue)//number
console.log(numberObject instanceof Number)//true
console.log(numberValue instanceof Number)//false

String
概述:String是对应字符串的引用类型,要创建一个String对象,使用String构造函数并传入一个数值,如下例:

let stringObject=new String("hello world")

方法:

  1. 每一个String对象都有一个length属性,表示字符串中字符的数量
  2. charAt()方法返回给定索引位置的字符
  3. charCodeAt()-------可以查看指定码元的字符编码
  4. 字符串操作方法
    1.concat()—用于将一个或多个字符串拼接成一个新的字符串
let stringValue="hello";
let result=stringValue.concat("world");
console.log(result);//"hello world"
console.log(stringValue);//"hello"

2.slice();substr();substring()—从字符串中提取子字符串的方法,第一个参数表示字符串开始的位置,第二参数表示子字符串结束的位置;但是substr()的第二参数表示返回的子字符串的数量

let stringValue="hello world";
console.log(stringValue.slice(3));//"lo world"
console.log(stringValue.substr(3);//"lo world"
console.log(stringValue.substring(3);//"lo world"
console.log(stringValue.substring(3,7);//"lo w"
console.log(stringValue.slice(3,7);//"lo w"
//注意区别
console.log(stringValue.substr(37);//"lo worl"

注意:当某个参数是负值时,这3个方法的行为又有不同

  1. slice—将所有负值的参数都当成字符串长度加上负参数值
  2. substr—将第一个负参数值当成字符串长度加上该值,将第二个负参数值转换为0
  3. substring—将所有负参数值都转换为0
let stringvalue="hello world";
console.log(stringValue.slice(-3));//"rld"
console.log(stringValue.substring(-3));//"hello world"
console.log(stringValue.substr(-3));//"rld"

console.log(stringValue.slice(3,-4));//"lo w"
console.log(stringValue.substring(3,-4));//"hel
console.log(stringValue.substr(3,-4));//""
  1. 字符串位置方法-----indexOf()和lastIndexOf()—从字符串中搜索传入的字符串
  2. 字符串包含方法:endsWith(),startsWith(),includes()—从字符串中搜索传入的字符串,并返回一个表示是否包含的布尔值
  3. trim()-----去掉所有空格符
  4. repeat()-----表示要将字符串复制多少次
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-24 10:26:52  更:2021-09-24 10:29:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:58:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码