摘要:
1.includes(), startsWith(), endsWith()
在ES5中我们判断一个字符串是否包含在另一个字符串的方法是indexOf,如果值为-1则不包含,否则返回该字符串对应的索引。
var str_1 = 'hello es6'
console.log(str_1.indexOf('h')) //0
var str_1 = 'hello es6'
console.log(str_1.indexOf('5')) //-1
在ES6中又新增了3个方法includes(), startsWith(), endsWith(),这三个方法均返回布尔值,同时都支持第二个参数,代表开始搜索的位置,我们依次看下其作用:
(1) includes() 它是判断字符串中是否包含某个字符串,包含为true,否则f 阅读全文
摘要:
现在很多APP中都有实时定位的功能,如果我们选择的是H5+的方法实现定位,那么就需要配置相关的SDK,在这里我们选择的是百度地图。
获取百度SDK的步骤如下:
首先我们要登录百度开放平台,打开控制台->创建应用
从图中可以看出在选择类型为“Android SDK”后,需要配置应用的安全码,而其组成包括Android签名版证书的SHA1值和包名,包名我们很容易知道:
这里要注意的是 这个包名可以我们自己定义,但是一定要记住,不能轻易改动,因为app中的支付功能地图的SDK等都和其相关,如果改了需要全部重新申请一遍,非常麻烦。
建议是把相关APP用到的证书 密钥包名,证书等一系列相关资料放在一个文件夹里专门存储,接下来我们看看如何使用使用keytool获取SH 阅读全文
摘要:
很多时候我们都会遇到这种需求,在移动端端显示导航栏横向内滚动,可以左右滑动,同时将选中的目标元素居中显示。那我们该如何去实现呢,不管是APP,移动端段网页还是小程序,其原理都是相同的,接下来我就拿小程序举个例子,具体步骤:
1.获取当前设备的宽度
2.获取当前元素的宽度以及距离父元素左边的距离offsetleft
3.设置选中元素居中 阅读全文
摘要:
今天看到一个朋友在群里问了一个问题,代码如下
var foo = {n:1};
(function(foo){
var foo;
console.log(foo.n); // 1
foo.n = 3;
foo = {n:2};
console.log(foo.n); // 2
})(foo);
console.log(foo.n); //3
很好奇为什么结果打印的是1 2 3。那在这里分析下,首先在函数外部定义的变量foo属于全局变量,此时在栈内存中给它分配一个物理地址,假如为x1,同时赋值时x1对应的变量foo指向堆中的对象{n:1},而在函数内部定义的变量 阅读全文
摘要:
我们都知道对于一个搜索功能,往往关键字是针对于数据库(集合)中的多个字段进行搜索的。
这里我在写音乐搜索功能时想实现既能通过歌手搜索也能通过歌手姓名搜索,由于我对集合操作不熟悉,我选择了最原始的方法,也就是先按照name(歌名)搜索出来,成功后在按照歌手名称(singer)去搜索一遍,把得到的两个数组合并得到一个新数组然后去重,得到想要的结果。通过上面的代码我们可以看到仅仅两个字段的搜索便是如此复杂,那如果是三个或者更多呢,没法想象有可能就会陷入死循环中。
所以今天我专门看了下API开发文档,发现 db.command.or 查询指令,用于表示逻辑 "或" 的关系,可以同时满足多个查询筛选条件。或指令有两种用法,一是可以进行字段值的 “或” 操作,二是也可以进行跨字段的 “或” 操作,这里我们对应的是跨字段的 “或” 阅读全文