为JavaScript内置对象扩展方法

原生js实现复制对象、扩展对象 类似jquery中的extend()方法 jq的extend()方法能很方便的实现扩展对象方法,这里要实现的是:原生js实现复制对象,扩展对象,类似jq中的extend()方法,需要的朋友可以参考下 立即下载

首先,需要准备一个扩展的模板:

        Function.prototype.method = function(name, func) {

            if (!this.prototype[name]) {
                this.prototype[name] = func;
                console.log(this);
                //return this;//如果需要级联调用的话
            }
        }

然后,为我们需要的内置对象扩展静态方法:

1.无参数扩展方法

  Number.method('ToInteger', function() {
            return this < 0 ? Math.ceil(this) : Math.floor(this);
        });

2.有参扩展方法

        String.method("Show",function(name){
            return 'Hello'+name+'!';
        });

这儿的this,就是内置对象本身,如果学过C#的朋友,完全可以联想到C#的扩展方法。

那么,我们在调用的时候,就可以直接通过编译器的提示访问到我们的扩展方法。

console.log((3.2).ToInteger())//结果为3。

接下来写一个直接可以让JS原生函数parseInt()和parseFloat()弃之高阁的方法:

function parseNumber(input) {return input*1;};

代码很简单,思想很巧妙,根据JS的运算原则,经过这一个函数的输入内容,若能够被转成数字,则转,否则,返回NaN。

于是乎,直接将其扩展到String上,

String.method('toNumber',function(input){
 return this*1;
})
好了,大家试试在控制台瞧瞧"3.141592654".toNumber()的结果

大笑
大模型之Spring AI实战系列(二十一):Spring AI + MCP + 本地文件系统实战指南 在上一篇文章中,我们学习了如何使用 Spring AI 集成 Model Context Protocol (MCP),并通过 Brave Search 实现了互联网搜索能力的接入。本文将继续深入 Spring AI 的 MCP 实战能力,介绍如何将 **本地文件系统** 封装为 LLM 可调用的工具 阅读详情

相关推荐

【AI生成】市面上主流自组网厂家的技术及市场研究

经过对全球自组网产业技术特征与市场格局的系统分析,本文得出以下核心结论:技术演进呈现智能化与融合化双轨路径 当前自组网技术创新已突破传统组网架构局限,形成"协议优化-架构创新-场景适配"的递进式发展路径。国际厂商聚焦智能算法应用,如Silvus采用深度学习实现动态拓扑优化,传输时延较传统方案降低37%;国内企业则侧重异构网络融合,中国移动设计院提出的5G LAN架构使工业场景通信可靠性提升至99.99%。

qq_31310977的博客 1698

JS 对象的扩展

1 属性的简洁表示法 ES6允许在大括号内,直接写入变量和函数,作为对象的属性和方法。这样书写更加简洁。 1.属性简写 const foo = 'baz' const obj = { foo } // { foo: 'baz' } function f(x, y) { return { x, y} } f(1, 2) // {x: 1, y: 2} 2.方法简写 ...

Eternal_tyq的博客 1714

影像组学分析流程中,图像分割前要做的事(图像预处理)

在InputVolume中无法找到自己想要重采样的序列,这时可以检查一下序列的Volume type是不是MRMLMulti。这时,Volume type将由MRMLMulti改为Scaler,随后即可在3D slicer中完成Resample Scaler Volume。2.1、重采样:通过3Dslicer中的Resample Scaler Volume实现。具体设置参数:spacing(1,1,1),Interpolation选择Bspline。2、图像预处理:重采样和标准化。

weixin_45011313的博客 3725

ES6:ES6 的内置对象扩展

Array 的扩展方法扩展运算符(展开语法)扩展运算符可以将数组或者对象转为用逗号分隔的参数序列。 为什么没有逗号,这个是因为被当做console.log的分割参数 扩展运算符可以应用于合并数组。 将类数组或可遍历对象转换为真正的数组 伪数组,无法使用数组下的方法,可以使用扩展运算符变成真正的数组构造函数方法:Array.from()将类数组或可遍历对象转换为真正的数组 方法还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。 第

薛定谔的猫 304

PaddleOCR实战指南:从环境搭建到自定义模型训练

本文提供了PaddleOCR从环境搭建到自定义模型训练的完整实战指南。详细介绍了使用Anaconda或Docker搭建稳定开发环境、准备与标注数据集、进行文本检测与识别模型训练的核心步骤与参数调优技巧,并分享了数据增强、模型微调及解决实际项目难题的实用方法,帮助开发者高效掌握PaddleOCR应用。

gold的博客 644

RK3568/RK3588之修改8250驱动实现RS485收发的自动切换

在串口发送前,若为485,则将控制引脚拉为发送状态,在发送后,循环查看是否发送完成,若发送完成则将引脚置回读状态,如此一来,就能实现在内核测控制方向切换,而不会因为延时造成数据丢失,经过测试此办法可行。全部修改完成后,重新编译生成内核文件和设备树文件,烧写到板子上即可。

哒宰的博客 3120

JS 对象之扩展、密封和冻结

JS 对象之扩展、密封和冻结

似水流年QC的博客 1456

在 RAP 中把业务对象“搬到网口上”:service definition 与 service binding 的全流程、范式与实战

本文解析了SAP ABAP开发中service definition和service binding的关键作用。service definition负责选择要暴露的CDS实体和行为,形成服务模型;而service binding则将服务绑定到具体协议(如OData),生成可访问的端点。两者分离带来三大优势:支持同一模型多重发布、降低环境迁移耦合度、强化安全治理。文章通过预订业务对象的端到端示例,展示了如何从CDS建模到生成Fiori Elements预览。最后以售后工单业务为例,说明这种架构如何支持内外服务

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 391

JavaScript中防止对象扩展的三种方法

最近还整理一份JavaScript与ES的笔记,一共25个重要的知识点,对每个知识点都进行了讲解和分析。能帮你快速掌握JavaScript与ES的相关知识,提升工作效率。有需要的小伙伴,可以点击下方卡片领取,无偿分享。

郊眠寺 503

项目篇:移动平台机械臂视觉定位抓取实施(基于ROS架构)

ROS包内容: 这篇日志的目的是快速项目实施,所以详细的部分会不断补充。 1、相机采集包(创建抓取图像服务,单张) Realsense Camera(微软深度摄像头,官方提供ros包) Pylon Camera(basler相机,官方提供ros包) 2、定位算法包(抓取图像,定位标志物) Aruco_ros (二维码定位,官方提供ros包) Apriltag (二维码定位,官方提供ros包)...

南北粉面馆 6049

置顶必读(1) | 《YOLOv26实战:从入门到深度优化》专栏导读与完整目录导航(持续更新中)

🏆 本文收录于 《YOLOv26实战:从入门到深度优化》 专栏。 本专栏系统梳理并持续复现 YOLOv26 官方特性、核心改进、多任务支持、部署优化与行业落地,内容坚持 持续更新 + 深度拆解 + 工程落地导向,不仅讲“怎么用”,更讲“为什么这样设计、如何真正落地到项目中”。

**My Coding Family** 9万+

js 常用扩展方法总结+应用

js 常用扩展方法总结+应用

m0_51244077的博客 1382

别让 Claude Code 一直问你“能不能执行“:权限配置完全指南

Claude Code 提供了一套精细的权限配置机制,配置好权限设置,可以提速不少。这个小技巧需要掌握一下。

沐风 3844

JS高级——扩展内置对象的方法

基本概念 内置对象有很多,几个比较重要的:Math、String、Date、Array 基本使用 1、内置对象创建出来的对象使用的方法使用的其实都是内置对象的原型对象中的方法 (1)a并没有charAt方法,但是它的原型确有此方法 <script> var a = new String('hello'); console.log(a.charAt(1)...

weixin_30267785的博客 281

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JavaScript 高级二 原型链 this指向 扩展内置对象 call()继承 es5新增数组,对象,字符串方法,

1.构造函数和原型-概述。 在典型的 OOP 的语言中(如 Java),都存在类的概念,类就是对象的模板,对象就是类的实例,但在 ES6之前, JS 中并没用引入类的概念。 ES6, 全称 ECMAScript 6.0 ,2015.06 发版。但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏 览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。 在 ES6之前 ,对象不是基于类创建的,而是用一种称为构建函数的特殊函数来定义对象和它们的特征。 1.1 创建 对象 的三种方式(

m0_55170432的博客 234

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JavaScript原生对象及扩展

转自:http://segmentfault.com/a/1190000002634958 内置对象与原生对象 内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段就被创建好的对象,是后者的一个子集;而后者包括了一些在运行过程中动态创建的对象。 原生对象(New后的对象) ECMA-262把原生对象(native object)定义为“...

banfu7150的博客 193

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

JavaScript高级 扩展内置对象

扩展内置对象扩展内置对象 扩展内置对象 我们可以通过原型对象 对原来的内置对象进行扩展自定义方法 比如 我们数组的内置对象中是没有求和的方法 我们可以先打印数组的原型对象 里面有许多我们熟悉的方法 但是却没有求数组的和的方法 这时候我们可以用原型对象来添加内置对象 我们利用原型对象 通过简单的for循环来创建一个数组所有相加的函数 Array.prototype.sum = function(){ let sum = 0; for (let i = 0; i < this

xihuanLilia的博客 340

JS内置对象与扩展库

JavaScript面向对象理解内置对象与内置函数。String,Number,Boolean三个基本包装类的认识,以及扩展库moment.js和lodash的应用

qq_50748038的博客 623

JavaScript高级(含ES6)-Day02 扩展内置对象 | ES5的新增方法

扩展内置对象的方法是通过原型对象 //给array增加求和方法 console.log(Array.prototype); //1、添加方法,不影响本身 Array.prototype.sum = function(){ var sum = 0; for(var i =1;i<this.length;i++){ sum += this[i] }

weiweianx的博客 234

JavaScript 学习之旅:第二十一课:扩展内置对象

JavaScript 提供了许多内置对象,它们已经为你准备好了常用的功能。Array:用于存储和操作数组。

caifox的博客 1009

js基础复习7-原型对象用途-利用原型对象扩展内置对象方法

我们先看一下数组的原型对象上面有些什么东西: console.log(Array.prototype) 这些都是数组提供的方法,但是没有求和方法,我们可以利用原型对象扩展内置对象方法,比如增加一个数组求和方法: <!DOCTYPE html> <html> <head> <title></title> </head> <body> <script type="text/javascript"> con

Hiroshi's 270

JS利用原型对象扩展内置对象的方法

增加Array方法就是利用原型自定义一个方法。这种方式一般在一些框架中很常见,例如vue。我们做一个数组中元素相加的案例。可以共享对象的属性和方法。

qq_33946656的博客 162

170104、js内置对象与原生对象

内置对象与原生对象 内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段就被创建好的对象,是后者的一个子集;而后者包括了一些在运行过程中动态创建的对象。 原生对象(New后的对象) ECMA-262 把原生对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”。包括如下: Object、Function、Ar...

weixin_30922589的博客 269

扩展JavaScript原生方法

扩展JavaScrip原生内置对象的方法,以翻转字符串方法为例: 1、prototype String.prototype.reverse = function (){ return this.split('').reverse().join(''); }; 2、Object.defineProperty Object.defineProperty(String.prototype, 'rev...

weixin_30865427的博客 169

prototype.js的扩展

[prototype.js是由Sam Stephenson写的一个javascript类库。用于建立有高度互动的web2.0特性的富客户端页面。] 1. JavaScript 类的扩展 prototype.js 包中加入功能的一种途径就是扩展已有的JavaScript 类。 2. 对 Object 类的扩展 Object 类的扩展 方法 类别 参数 描述 extend(destinat

248

09-扩展内置对象方法.html

【代码】09-扩展内置对象方法.html。

m0_59556655的博客 105
上一篇: 妹子UI之自定义分页控件
下一篇: ECMAScript6中的箭头函数
遛狗的代码
博客等级 码龄11年 10粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值