首页 > 其他分享 >js 知识

js 知识

时间:2024-08-29 17:26:29浏览次数:9  
标签:function arr return log Symbol 知识 js console

js 加法 1:两个都是原始类型  若一个是字符串 则另一个转变为字符串 若一个是原始类型 则按原始类型转number

            2:若不是原始类型,则按对象[Symbol.toPrimitive]   valueOf() toString() 依次转换

var obj = {
  a: 2,
  [Symbol.toPrimitive]: function () {
    console.log('toPrimitive')
    return this.a + 1
  },
  valueOf() {
    console.log('valueof')
    return this.a
  },
  toString(){
    console.log('ssssss')
    return 'sss'
  }
}
console.log(obj + 4)

 

所有循环都可以改为递归函数

const arr = [6, 3, 2, 4, 5]
function arrSum(arr, i = 0) {
  if (i >= arr.length) {
    return 0
  }
  return arr[i] + arrSum(arr, i + 1)
}
//console.log(arrSum(arr))

function arrSum1() {
  let sum = arr[0];
  let i = 1;
  function _m() {
    if (i === arr.length) {
      return 0
    }
    sum += arr[i]
    i++
    _m()
  }
  _m()
  return sum
}

解析原理:其实是调用[Symbol.iterator]返回一个迭代器

const arr1 = [6, 3, 2]
inteor = arr1[Symbol.iterator]()
console.log(inteor.next().value)//6
console.log(inteor.next().value)//3
console.log(inteor.next().value)//2

 

Object.prototype[Symbol.iterator] = function () {
  return Object.values(this)[Symbol.iterator]()
}
const [a, b] = {
  a: 22, b: '444a11a'
}

console.log(a,b)

 

标签:function,arr,return,log,Symbol,知识,js,console
From: https://www.cnblogs.com/howhy/p/18387119

相关文章

  • 初入nodejs
    序言:为了真正实现自己上线一个软件从现在开始学习后端初入nodejs学到的内容:首先理解的后端流程大概轮廓是创建服务器编写路由编写路由拦截器(GET、POST)连接数据库实现数据库的增删改查接着就是学习express.js和Koa.js这两个基于nodejs的框架我们一步一步来创建服......
  • JSON的概念及应用场景举例
    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它采用易于人阅读和机器解析的纯文本形式来表示结构化的数据。JSON基于ECMAScript(即JavaScript)的一个子集,但其语法和数据结构独立于任何特定的编程语言,因此被广泛应用于各种编程环境和平台之间进行数据交换。JSON......
  • CSP-S初赛知识点汇总
    CSP-S初赛知识点汇总进制转换二进制整数部分略。小数部分将小数点后部分整体*2,取其整数部分的结果即为对应二进制数字。之后,取计算后的数字小数部分继续计算直到其全为0为止。举一个例子:将33.25转化为二进制数整数部分:33/2=16......116/2=8......08/2=4......0......
  • 知识图谱——语义知识库的开端(1)
            从最初的Google搜索,到如今的聊天机器人、大数据风控、证券投资、智能医疗、自适应教育、推荐系统等各个领域,知识图谱的应用无处不在。知识图谱(KnowledgeGraph)的概念由Google在2012年正式提出,旨在打造更智能的搜索引擎,并在2013年后逐渐在学术界和工业......
  • 知识产权生态圈:创新与合作共筑未来
    在当今这个创新驱动发展的时代,知识产权已成为国家竞争力的核心要素之一。知识产权生态圈,作为促进知识产权创造、保护、运用和管理的有机系统,正逐步成为推动经济社会高质量发展的关键力量。本文将以几个经典案例为镜,探讨知识产权生态圈的重要性及其未来发展方向。构建与运营......
  • 软考第一章1.1计算机系统基础知识
    计算机由运算器控制器存储器输入设备输出设备cpu由运算器控制器内部寄存器组数据总线组成运算器算术逻辑单元累加寄存器数据缓冲寄存器状态条件寄存器组成ALUACDRPSW控制器:指令控制逻辑指令......
  • [JS] ArrayBuffer、DataView和TypedArray
    JavaScript中数组元素的数据类型是不固定的,number类型可以是整数也可以是浮点数。这种性质与其它常见语言中的定型数组很不一样,导致不同语言编写的程序在交换数据的时候,需要花费很多时间在数据转换上。ECMAScript后来引入了定型数组TypedArray。TypedArray并不是一个实际存在......
  • 图神经网络知识总结——归一化
    本文以GraphWaveNet为主体,总结其使用到的(图)神经网络知识点以及相应代码实现方式。对称归一化邻接矩阵介绍对称归一化邻接矩阵(Symmetricallynormalizeadjacencymatrix),更适合无向图。作用将邻接矩阵归一化处理,使得每一行/列的和等于1(类比“数独”游戏),同时保持矩阵的对称......
  • gyp GET https://nodejs.org/download/release/v20.15.0/node-v20.15.0-headers.tar.g
    如图我执行yarn关于node会报错:gyphttpGEThttps://nodejs.org/download/release/v20.15.0/node-v20.15.0-headers.tar.gzgyphttpfetchGEThttps://nodejs.org/download/release/v20.15.0/node-v20.15.0-headers.tar.gzattempt1failedwithETIMEDOUTgypWARNins......
  • JSP计算机学院工会综合管理平台5dizr程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:会员,工会会费,缴费信息,流水公示,工会活动,参加活动,工会物品,资产消耗,会费统计,资产统计,会员统计开题报告内容一、项目背景与意义随着计算机学院......