草庐IT

const-string

全部标签

javascript - ES6中扩展String时的错误

'usestrict';classReverseStringextendsString{reversed(){letres='';for(leti=this.length-1;i>=0;--i){res+=this[i];}returnres;}}letrs=newReverseString("wangyang");console.log(rs.reversed());当我运行这段代码时,我遇到了一个错误:C:\Users\elqstux\Desktop>nodewy.jsC:\Users\elqstux\Desktop\wy.js:14console.log(rs.reversed(

javascript - 是否有任何标准的 JavaScript API 或库将字符串作为 String 对象返回?

直到最近,我才意识到JavaScript中有两种类型的字符串(以及bool值和数字):诸如"blah"之类的原语,以及诸如new之类的对象String("blah").它们的区别在于很容易“陷入困境”的方式,其中最大的一个似乎是不同的typeof值(“string”vs“object"),但还存在许多其他差异,一些documentedatMDN.创建String对象没有意义,因为原始字符串也能正常工作,而且JSHinteventreatsthisasanerror.所以我真的很想假装String实例根本不存在,并且在我的代码中只支持原始字符串。这让我想知道:我可以通过调用一些返回字符串

javascript - 在 javascript Harmony/ECMAScript 6 中删除或覆盖 const 变量

阅读和修改ECMAScript6提供的新功能。用于编写常量变量的新“const”语句是一个很棒的功能,它为已经很有趣的更新添加了功能。变量创建为只读,一旦声明就不能被覆盖。编辑:随之而来的问题出现了,例如,在控制台上测试代码时。两次运行包含const定义的脚本会导致错误,中断执行。如果我想释放那个关键字怎么办?有什么方法可以取消设置或删除变量吗?我读过thispost这实际上也是一个影响var语句的问题,因为创建变量的环境在许多抽象级别上是不同的。ECMAScript6打算如何解决这个问题? 最佳答案 无法重新定义使用const声明

javascript - 如何在 ESLint 中对齐 const 缩进?

我正在使用ESLint使我的JavaScript代码风格保持一致。我最喜欢的缩进级别是4,我希望我的声明样式是这样的:function(){leta=1,bbb=2;constcc=3,ddd=4;}但是有一个问题,因为indent每个结构的规则都有一个数字,它是基本缩进的乘积。如果我将我的基本缩进设置为4,我似乎无法对齐常量。如果我将规则设置为:"indent":["error",4,{"VariableDeclarator":{"const":1}}],正确的对齐方式是4个空格:constcc=3,ddd=4;如果我将规则设置为2:"indent":["error",4,{"Var

javascript - const 在 Edge 15 开发者工具中不起作用

我正在运行Edge/15.15063。'CanIUse'saysconstshouldwork.运行:constx='woo'然后:console.log(x)返回'x'isundefined截图:为什么const不起作用? 最佳答案 我怀疑Edge控制台在其幕后使用了with语句likeotherimplementationsdid.这将解释var和evenfunctiondeclarations被提升到全局范围之外,但是let和const将被锁定到block范围内:with(…){constx='woo'}//nextinput

javascript - 使用 String.localeCompare 对混合项目进行排序时如何更改排序顺序?

假设我们有一组具有混合name值(nums、cyrillic、english)的对象:(如果代码不适合你,把undefined改成'ru',它也会改变排序结构)letascending=truevaritems=[{name:'c',value:''},{name:'b',value:''},{name:'a',value:''},{name:'д',value:''},{name:'в',value:''},{name:'41',value:''},{name:'а',value:''},{name:'б',value:''},{name:'0',value:''},{name:'3

javascript - 当存在全局标志时,为什么 String.match() 不产生预期结果?

这个问题在这里已经有了答案:JavaScriptregularexpressionsandsub-matches(2个答案)关闭9年前。我正在尝试这场比赛'/links/51f5382e7b7993e335000015'.match(/^\/links\/([0-9a-f]{24})$/g)得到:['/links/51f5382e7b7993e335000015']当我期待的时候:['/links/51f5382e7b7993e335000015','51f5382e7b7993e335000015']在删除全局标志之前,我没有运气,我认为这不会影响我的结果!移除全局标志后,'/lin

javascript - String.charCodeAt 未定义?

尝试在Safari3中调用String.charCodeAt('9')时,javascript调试面板出现此错误。TypeError:Resultofexpression'String.charCodeAt'[undefined]isnotafunction.当我尝试执行stringInstance.charCodeAt('9')时,我得到了NaN。难道我做错了什么?我只想获取某些字符的字符代码以匹配按键。String.charCodeAt('9')在Firefox上返回57(如预期)。 最佳答案 我认为正确的做法是:"9".cha

javascript - 将 C# List<string> 转换为 Javascript

我想将List类型的模型属性转换为可在同一View中使用的Javascript变量。这是我的模型结构:publicstringTitle{get;set;}publicstringDescription{get;set;}publicListImgLinks{get;set;}我想要模型的ImgLinks属性的Javascript数组或json。我试过了-varimageLinks=@(Html.Raw(Json.Encode(Model.ImgLinks)));但是我收到语法错误警告。任何人都可以帮助我转换为javascript数组和json吗? 最佳答案

javascript - 扩展 String.prototype 性能表明函数调用快 10 倍

我想用一些实用方法扩展String对象原型(prototype)。它有效,但性能出奇的低。将字符串传递给函数比重写执行相同操作的String.prototype方法快10倍。为了确保这真的发生了,我创建了一个非常简单的count()函数和相应的方法。(我正在试验,并创建了该方法的三个不同版本。)functioncount(str,char){varn=0;for(vari=0;i结果:func:705msproto:10011msproto-reuse:10366msproto-var:9703ms如您所见,差异是巨大的。下面证明了方法调用的性能可以忽略不计,并且函数代码它自己对于方法