首页 > 其他分享 >JS内置类型

JS内置类型

时间:2022-12-27 03:44:05浏览次数:35  
标签:aa 内置 name hyf01 var 50 JS Date 类型

原始类型调用方法

原始类型是简单的值,默认不能调用属性和方法,javascript为了可以使其可以获取属性和调用方法,对其封装了对应的包装类型

  • String
  • Number
  • Boolean
  • Symbol
  • BigInt

包装类型的使用过程

  • 根据原始值,创建一个原始类型对应的包装类型对象
  • 调用对应的属性或者方法,返回一个新的值
  • 创建的包装类对象被销毁
  • 通常JavaScript引擎会进行很多的优化,它可以跳过创建包装类的过程在内部直接完成属性的获取或者方法的调用。

null、undefined没有任何方法和属性,也不存在包装类型

Math对象

  • Math.PI: 圆周率
  • Math.floor: 向下取整
  • Math.ceil: 向上取整
  • Math.round: 四舍五入
  • Math.random(): 随机[0,1)
  • Math.pow(2,4): 2**4

数组

  • push

  • pop

  • unshift

  • shift

  • arr.at(-1)

  • arr.splice(start,delCount,[item1],[item2]...): 修改原数组

  • length

    var name = [2,3,4]
    console.log(name.length) // 3
    name.length = 5  // [ 2, 3, 4, <2 empty items> ]
    name.length = 2  // [ 2, 3 ]
    
  • arr.slice(start,end): 不会修改原数组

  • arr.concat(arr1):不会修改原数组

  • arr.join(flag):

  • indexOf(): 返回索引或-1

  • lastIndexOf()

  • includes()

  • find(fn)

  • findIndex(fn)

  • sort(a,b)

  • reverse()

  • froEach(fn):

  • filter(fn)

  • map(fn)

  • reduce(fn):

    // 高阶函数,函数作为参数
    var stu = find(function(item){
        // 依次调用此函数
        if (item.id === 101) {
            return true
        }
    })
    // forEach原理
    function hyForEach(fn) {
        for (var i=0;i<names.length;i++) {
            fn(names[i],i,names)
        }
    }
    hyForEach(function(item,index,names){
        // do some thing
    })
    
    // foreach 终极版本
    Array.prototype.hyForEach = function(fn){
        for (var i=0;i<this.length;i++) {
            fn(this[i],i,this)
        }
    }
    var arr = [1,2,3,4]
    arr.hyForEach(function(item,i,arr){
        console.log(item,i,arr)
    })
    
    // reduce
    var numr = [1,2,3,4,5,6]
    var res = 0
    numr.reduce(function(total,item,i,arr){
        return total+item
    },0)
    
var name = ['1','e','50']
name[0]
name.at(0) // .at(-1), 从尾部数

name[0] = 'hyf'

name[3] = 'hyf01'

// delete name[0]  // [empty,'e','50','hyf01']

name.push('aa','bb') // ['1','e','50','hyf01','aa','bb']

name.pop() // // ['1','e','50','hyf01','aa']

name.unshift('cc','dd')   // ['cc','dd','e','50','hyf01','aa','bb']

name.shift()  // ['dd','e','50','hyf01','aa','bb']

// 增、删、改
name.splice(0,2) // ['50','hyf01','aa','bb']
name.splice(0,0,'a1','a2') // ['a1','a2','50','hyf01','aa','bb']
name.splice(0,2,'b1','b2') // ['b1','b2'  ,'50','hyf01','aa','bb']

Date对象

  • RFC 2822标准
    • new Date() Tue Dec 27 2022 00:37:53 GMT+0800 (中国标准时间)
  • ISO 8601标准:2022-12-26T16:43:16.100Z
    • YYYY: 0000-9999
    • MM: 01-12
    • DD: 01-31
    • T:物特殊含义,分割日期和时间,可以省略
    • HH: 00-24
    • mm:00-59
    • ss:秒 00-59
    • .sss:毫秒
    • Z: 时区
var date1 = new Date()
var date2 = new Date(1000) // 毫秒数
var date3 = new Date('2022-08-09')
var date4 = new Date(2022,08,09,09,09,09)
  • getFullYear()

  • getMonth(): 0-11,需要加1

  • getDate():天 1-31

  • getHours(): 时

  • getMinutes():分

  • getSeconds(): 秒

  • getDay(): 一周中的第几天

  • setXXXX(): 修改时间如setFullYear(2033)

    // 获取时间戳
    date1.getTime()
    date1.valueOf()
    +date1
    
    // 当前时间戳
    Date.now()
    
  • Date.parse

    Date.parse(timeString) // 获取时间戳 等同于new Date(timeString).getTime()
    

标签:aa,内置,name,hyf01,var,50,JS,Date,类型
From: https://www.cnblogs.com/hyf120/p/17007244.html

相关文章

  • JS手写练习随笔-20221226.2 ---- 带并发限制的异步调度器
    最多保持特定数量任务执行的异步调度器classScheduler{//最大任务执行数目privatemaxCnt:number;//正在执行的任务数目privaterunningCnt:number;......
  • 【JAVA笔记】JAVA的StringBuilder和StringBuffer类、Data类和Calendar类、基本类型的
    一、StringBuilder和StringBuffer类 实例:packagecn.test02.demo6;publicclassTest1{publicstaticvoidmain(String[]args){//测试构造方法......
  • js-将数组拆分为指定长度
    场景数组:[1,2,3,4,5,6,7,8,9,10]目标:[[1,2],[3,4],[5,6],[7,8],[9,10]]思路分析借助splice方法或者slice方法,一直对数组进行指定位数的删除,并将返回的数组push到一个......
  • JSTL标签
    文章目录​​一.概念​​​​二.下载使用​​​​三.jsp页面中使用jstl标签​​​​四.核心标签库中常用标签:​​​​1.代码演示​​一.概念JSTL(JavaServerPagesSta......
  • [CTF] 攻防世界-simple_js
    题目描述:小宁发现了一个网页,但却一直输不对密码。(Flag格式为Cyberpeace{xxxxxxxxx})直接看源码,只有个js脚本,flag就是破解它functiondechiffre(pass_enc){var......
  • 火山中文编程 -- 数据类型转换
    0x01新建一个MFC控制台程序0x02声明两个变量0x03到文本将数值转为文本型,比如123变为“123”到文本(a)0x04文本到数值将文本内容转换为整数类或者小数文本到整数(b......
  • JS逆向 -- 本地调试
    一、通过Fiddler抓包,找到要替换的JS文件,这里要替换的事md5.js二、新建一个md5.js文件,内容为包里的内容,为了区分,我们给他多加一个变量三、将该包,拖到AutoResponder选项卡,该打......
  • JS逆向 -- HOOK关键数据
    一、安装油猴插件​​https://ext.se.360.cn/webstore/search/tampermonkey​​二、添加新脚本三、常用代码1、name:该脚本的名字2、match:要hook的网站:一般填写http://*/*3、......
  • js中的数据结构
    原始类型  数值字符串布尔值特殊值:undefined  null  合成类型 对象es6唯一的标识符symboljs中有三种方法确定一个值得类型typeofinstanceofObject.p......
  • 用了这么多年的 SpringBoot 你知道什么是 SpringBoot 的 Web 类型推断吗?
    用了这么多年的SpringBoot那么你知道什么是SpringBoot的web类型推断吗?估计很多小伙伴都不知道,毕竟平时开发做项目的时候做的都是普通的web项目并不需要什么特别的......