var方法

字符去重方法1,2

做~自己de王妃 提交于 2019-11-28 06:17:45
第一种方法 var str="aadowabccd"; var obj={} var str2="" for(var i=0;i<str.length;i++){ if(obj[str[i]]){ //obj.a=obj["a"]=obj[str[1]]//如果str[1]也就是a中没有赋值undifined,为false执行else,给a中赋一个值1;下一次再执行s[] obj[str[i]]++ } else{ obj[str[i]]=1 } } console.log(obj) for(var i in obj){ //对象的遍历,可以把所有的key值便利出来。 str2+=i } console.log(str2) //adowbc 第二种方法: var str="aaaaaabccd"; function norepeat(b) { var c="" for(var j=0;j<b.length;j++){ if(!fn(c,b[j])){ c+=b[j] } } console.log(c) } norepeat(str) function fn(a,n) { for(var i=0;i<a.length;i++){ if (a[i]===n){ return true } } return false } 来源: https://www.cnblogs.com

js内置对象

与世无争的帅哥 提交于 2019-11-28 05:51:39
JavaScript中的对象分为3种:内置对象、浏览器对象、自定义对象 JavaScript 提供多个内置对象:Math/Array/Number/String/Boolean... 对象只是带有 属性 和 方法 的特殊数据类型。 学习一个内置对象的使用,只要学会其常用的成员的使用(通过查文档学习) 可以通过MDN/W3C来查询 内置对象的方法很多,我们只需要知道内置对象提供的常用方法,使用的时候查询文档。 MDN Mozilla 开发者网络(MDN)提供有关开放网络技术(Open Web)的信息,包括 HTML、CSS 和万维网及 HTML5 应用的 API。 MDN 通过查询MDN学习Math对象的random()方法的使用 如何学习一个方法? 方法的功能 参数的意义和 类型 返回值意义和 类型 demo进行测试 Math对象 Math对象不是构造函数,它具有数学常数和函数的属性和方法,都是以静态成员的方式提供 跟数学相关的运算来找Math中的成员(求绝对值,取整) Math 演示:Math.PI、Math.random()、Math.floor()/Math.ceil()、Math.round()、Math.abs() 、Math.max() Math.PI // 圆周率Math.random() // 生成随机数Math.floor()/Math.ceil() //

JavaScript性能优化

▼魔方 西西 提交于 2019-11-28 05:44:56
如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度。 这种情况下决定程序速度的另一个重要因素就是代码本身。 在这里我们会分门别类的介绍JavaScript性能优化的技巧,并提供相应的测试用例,供大家在自己使用的浏览器上验证, 同时会对特定的JavaScript背景知识做一定的介绍。 目录 变量查找优化 变量声明带上var 慎用全局变量 缓存重复使用的全局变量 避免使用with 核心语法优化 通过原型优化方法定义 避开闭包陷阱 避免使用属性访问方法 避免在循环中使用try-catch 使用for代替for…in…遍历数组 使用原始操作代替方法调用 传递方法取代方法字符串 脚本装载优化 使用工具精简脚本 启用Gzip压缩 设置Cache-Control和Expires头 异步加载脚本 DOM操作优化 减少DOM元素数量 优化CSS样式转换 优化节点添加 优化节点修改 减少使用元素位置操作 避免遍历大量元素 事件优化 使用事件代理 动画优化 设置动画元素为absolute或fixed 使用一个timer完成多个元素动画 变量查找优化 变量声明带上var 1. 如果声明变量忘记了var,那么js引擎将会遍历整个作用域查找这个变量,结果不管找到与否,都是悲剧。 如果在上级作用域找到了这个变量,上级作用域变量的内容将被无声的改写

JavaScript性能优化

痴心易碎 提交于 2019-11-28 05:43:54
如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度。 这种情况下决定程序速度的另一个重要因素就是代码本身。 在这里我们会分门别类的介绍JavaScript性能优化的技巧,并提供相应的测试用例,供大家在自己使用的浏览器上验证, 同时会对特定的JavaScript背景知识做一定的介绍。 目录 变量查找优化 变量声明带上var 慎用全局变量 缓存重复使用的全局变量 避免使用with 核心语法优化 通过原型优化方法定义 避开闭包陷阱 避免使用属性访问方法 避免在循环中使用try-catch 使用for代替for…in…遍历数组 使用原始操作代替方法调用 传递方法取代方法字符串 脚本装载优化 使用工具精简脚本 启用Gzip压缩 设置Cache-Control和Expires头 异步加载脚本 DOM操作优化 减少DOM元素数量 优化CSS样式转换 优化节点添加 优化节点修改 减少使用元素位置操作 避免遍历大量元素 事件优化 使用事件代理 动画优化 设置动画元素为absolute或fixed 使用一个timer完成多个元素动画 变量查找优化 变量声明带上var 1. 如果声明变量忘记了var,那么js引擎将会遍历整个作用域查找这个变量,结果不管找到与否,都是悲剧。 如果在上级作用域找到了这个变量,上级作用域变量的内容将被无声的改写

获取select的option方法

北城余情 提交于 2019-11-28 05:04:23
一、jquery方法(页面中必须加载过jquery库)-------------------推荐使用 1:var options=$("#test option:selected"); //获取选中的项 2:alert(options.val()); //拿到选中项的值 3:alert(options.text()); //拿到选中项的文本 demo代码: <select id="test" name=""> <option value="1">text1</option> <option value="2">text2</option> </select> 二、原生js方法 1:拿到select对象: var myselect=document.getElementById("test"); 2:拿到选中项的索引:var index=myselect.selectedIndex ; // selectedIndex代表的是你所选中项的index 3:拿到选中项options的value: myselect.options[index].value; 4:拿到选中项options的text: myselect.options[index].text; 来源: https://www.cnblogs.com/qihang0/p/11392886.html

数组去重方法1,2

↘锁芯ラ 提交于 2019-11-28 01:27:21
第一种方法:写个判断是否相等的函数,然后调用这个函数生成一个新数组 function norepeat(arr) { var brr=[]; for(var i=0;i<arr.length;i++){ if(!fn(brr,arr[i])){ //brr,arr[i]是实参进入fn函数中,brr这个空数组与a[i],逐个相比,若不相同,则把这个a[i]放入brr数组中。 //if(!fn(brr,arr[i])表示brr与arr[i]不相等时,因为if里面的条件为真才往下执行。 //这里if里的条件是当brr与arr[i]不相同时往下执行。 brr.push(arr[i]) } } return brr; } var a=norepeat([3,8,6,5,48,9,5,89,56,5,8,46,5]) console.log(a); function fn(ar,n) { //这个函数就是用来比较两个数字是不是相等的,如果相等返回true(这里设置布尔值是为了给上面的if做判断) for(var i=0;i<ar.length;i++){ if (ar[i]===n){ return true } } return false; } 第二种方法:将数组的每一个元素依次与其他元素做比较,发现重复元素,删除 var a=[5,6,5,8,4,8,54,8,4,4,4,4,4,4]

获取Echarts的DataZoom的起始值

≯℡__Kan透↙ 提交于 2019-11-27 22:49:23
创建DataZoom拖动事件 myChart.on(ecConfig.EVENT.DATA_ZOOM, eConsole); //事件名, 相关联的方法名 var ecConfig = require('echarts/config'); //拖动时执行次事件 function eConsole(param) { var a = param.zoom.xAxisIndex[0]; var aaa = myChart.component.xAxis.option.xAxis[0].data; $("#test_span").html(aaa[a]); } 转载于:https://www.cnblogs.com/piupiupiu/p/4517210.html 来源: https://blog.csdn.net/weixin_30929195/article/details/99792495

cocos creator ScrollView组件scrollToOffset()方法的使用

跟風遠走 提交于 2019-11-27 21:54:53
前言 之前想用scrollToOffset()在打开界面时,滑动窗口滑动到一个相对应的位置,但是使用scrollToOffset()这个方法的时候,没起作用。然后就用了其他方法来实现相同的效果。现在有时间,就去一探究竟当时为什么使用scrollToOffset()方法会失败。 终究找到原因还是花了一番时间。 1 scrollToOffset: function(offset, timeInSecond, attenuated) { 2 var maxScrollOffset = this.getMaxScrollOffset(); 3 4 var anchor = cc.p(0, 0); 5 //if maxScrollOffset is 0, then always align the content's top left origin to the top left corner of its parent 6 if (maxScrollOffset.x === 0) { 7 anchor.x = 0; 8 } else { 9 anchor.x = offset.x / maxScrollOffset.x; 10 } 11 12 if (maxScrollOffset.y === 0) { 13 anchor.y = 1; 14 } else { 15 anchor.y =

Java10类型推导

烂漫一生 提交于 2019-11-27 20:38:13
Java10类型推导 引言 ​ 2018年3月20日,大家期待已久的Java 10发布了,Java 10推出很多新的特性,比如局部变量类型推导、应用类数据共享、并行全垃圾回收器 G1等等,其中和我们开发者息息相关的就是局部变量类型推导,今天我们就来聊一聊Java 10的局部变量类型推导。 概念 ​ 所谓的局部变量类型推导其实就是通过增强java语言特性将类型推断扩展到局部变量,它引入了其他语言中很常见的“var”,其表现形式也类似于JavaScript的中的"var",只要编译器可以推断此种类型,你就不再需要专门声明一个局部变量的类型。 应用场景 java 10的局部变量类型推导不是在所有的地方都可以使用的,java10规定: 局部变量类型仅限于如下使用场景: 局部变量初始化 for循环内部索引变量 传统的for循环声明变量 局部变量类型推导它不能用于以下几个地方: 方法参数 构造函数参数 方法返回类型 ​类的字段 示例代码 1.在定义局部变量的时候使用 在定义局部变量时,使用var来定义。 package cn.itcast.demo; public class Demo1 { public static void main(String[] args) { var number = 1; var message ="Hello itcast"; System.out

数组操作

孤人 提交于 2019-11-27 18:24:54
/*--> */ /*--> */ /*--> */ /*--> */ 数组操作: shift()方法:移除数组中的第一项并返回该项 unshift()方法:在数组的前端添加项 push()方法:从数组末端添加项 pop()方法:从数组末端移除项 删除 a数组中的’ bb’: var a=['aa', 'bb', 'cc']; function doDelete() { var t = a.indexOf('bb'); var b=a.slice(); b.splice(t,1); return b } 或者 var b = a.filter((item, i) => {   return item !=='bb' });    来源: https://www.cnblogs.com/vicky24k/p/11372120.html