草庐IT

es匹配查询

全部标签

javascript - 使 jQuery 在不匹配元素时抛出错误

通常,当我使用jQuery选择一个元素时,如果它没有找到匹配的元素,我希望它给我一个错误。例如,我刚刚遇到一个错误,因为我更改了ul元素的类:$('ul.some-list').append(listItem)是否有方便的方法确保我的jQuery调用匹配元素? 最佳答案 您可以制作一个插件来确保jQuery对象不为空:$.fn.ensure=function(){if(this.length===0)throw"EmptyjQueryresult."returnthis;}用法:$('ul.some-list').ensure().

javascript - 除了字符 e、n、p 之外,是否有更简洁的正则表达式来匹配 a-z?

我想写一个正则表达式来匹配除e、np之外的字符a-z。我可以写:[a-df-moq-z]我只是想知道是否有一种方法可以编写类似([a-zexcept^enp])的方法来使正则表达式更容易破译哪些字符被排除在外。 最佳答案 你可以像这样使用负前瞻:(?![enp])[a-z]现场演示:http://www.rubular.com/r/1LnJswio3F 关于javascript-除了字符e、n、p之外,是否有更简洁的正则表达式来匹配a-z?,我们在StackOverflow上找到一个类似

javascript - 执行 Mongoose 查询后从未调用的回调函数

以下是我的代码:mongoose.connect('mongodb://localhost/mydatabase');vardb=mongoose.connection;db.on('error',console.error.bind(console,'connectionerror:'));db.once('open',functioncallback(){console.log('DBconnectionopened');});//...vardbCallback=function(err,body){//...};//...varStuffModel=mongoose.model

javascript - 等价于 ES6 中的 Prototype

我从ES6开始,具有JavaScript背景。我有个问题。我有一个如下所示的ES6类:classUser{constructor(){}doSomething(){}}我的问题是doSomething方法是否在我们每次实例化该对象时创建?在以前的JS中,我们可以把doSomething拿出来,用“prototype”创建,保证doSomething只创建一次,而不是每次实例化对象的时候。但是,我确信在ES6中实现相同效果的正确方法。任何帮助将不胜感激。 最佳答案 Myquestionsisdoes"doSomething"metho

javascript - ES6 参数的默认值

这是es6中参数的默认值吗?functionlist({skip=0,limit=50}={}){}上面的代码是做什么的?如果是list(skip=0,limit=50)我能理解,但现在我很困惑。 最佳答案 那个函数有destructuring和defaultparameters混合在一起。根据函数签名,我们可以说我们期待一个参数,它应该是一个对象。functionlist(myObject){}如果未传递任何参数(或传递了undefined),我们将默认值设置为一个空对象,{}。functionlist(myObject={}){

用于匹配 5 位或 9 位邮政编码的 Javascript 正则表达式

我有一个与我最近的帖子类似的问题,但使用邮政编码验证器,我正在尝试转换为javascript验证过程。我的脚本看起来像这样:varregPostalCode=newRegExp("\\d{5}(-\d{4})?");varpostal_code=$("input[name='txtzipcode']").val();if(regPostalCode.test(postal_code)==false){bValid=false;msg=msg+'InvalidZipCode.';}从我最近的帖子中,我了解到一开始我需要的转义字符。基本上,此函数正在验证一个正确的邮政编码22601,但它不

javascript - es6导入three.js

我的es6工作流程使用babel和babel-plugin-transform-es2015-modules-system.js来仅转换模块导入/导出以便与system.js一起使用。我只是对所有es6功能使用“绿色”浏览器,除了模块的导入/导出..这是whatwg标准,因此不是“es6”。这适用于遗留(非es6)库,我可以“导入”我需要的所有npm包。不知何故,babel,只有babel模块转换,而system.js神奇地工作。three.js除外。我尝试了所有三个版本:three.js、three.min.js和three.modules.js。前两个静默失败,导致“未定义”模块。

javascript - ES6 解构具有相同属性名称的两个对象

我有两个具有以下语法的javascript对象:letsection={name:"foo",tables:[]}letfield={name:"bar",properties:{}}还有一个需要这些对象的函数,但在函数中我只使用每个对象的名称,所以我想知道我是否可以在函数声明中解构这两个对象,例如:functionsomething({name},{name}){//code}第一个应该是section.name,第二个应该是field.name。在这种情况下,有两个方法可以进行解构吗?或者我应该只检查函数中的名称?哪个更好?谢谢。 最佳答案

javascript - 使用 ES6 导入时“未定义 jQuery”

我的代码:import$from'jquery'importjQueryfrom'jquery'importowlCarouselfrom'../../node_modules/owlcarousel/owl-carousel/owl.carousel'classApp{…_initSlider(){$("#partners-carousel").owlCarousel();}}我在浏览器控制台中显示“jQuery未定义”。怎么了?我可以在此类的方法中将jQuery用作$,但不能使用名称“jQuery”。 最佳答案 根据thisco

javascript - 错误 : Couldn't find preset "es2015" relative to directory

当我尝试使用babel时出现以下错误。Error:Couldn'tfindpreset"es2015"relativetodirectorywebpack.config.jsmodule.exports={entry:'./main.js',ourput:{path:'./',filename:'index.js'},devServer:{inline:true,port:3333},module:{loaders:[{test:/\.js$/,exclude:/node_modules/,loader:'babel',query:{presets:['es2015','react']