var方法

js数组去重的几种方法

我与影子孤独终老i 提交于 2019-11-30 05:16:44
var arr = [42123,123,3214,123,12321,123,131,1232,2,21,21,3132,2,312,3];//验证时请把其他方法注释起来 way1 for(var i = 0;i < arr.length-1;i++){ for(var j = i+1;j < arr.length;j++){ if(arr[i] == arr[j]){ arr.splice(j,1); j--; } } } console.log(arr) way2 for(var i = 0;i < arr.length;i++){ if(arr.indexOf(arr[i]) != i){ arr.splice(i,1); i--; } } console.log(arr) way3 var srr1 = arr.filter(function(value,index,self){ return self.indexOf(value) === index }) console.log(srr1) console.log(arr) way4 var arr2 = []; for(var i = 0;i < arr.length;i++){ if(arr.indexOf(arr[i]) == i){ arr2.push(arr[i]); } } console.log(arr2

JavaScript学习记录

妖精的绣舞 提交于 2019-11-30 04:37:37
菜鸟整理笔记(如果有不对的地方可以评论call我噢~) 数据类型 JS代码原则:高内聚,弱耦合 ecmascript是一种语言标准,第一版标准发布于1997年,javascript是网景公司对ecmascript标准的一种实现。 js不区分整数和浮点数,统一用number表示,nan表示 not a number,无法计算结果的时候用nan表示。 字符串string,是以单引号或者双引号括起来的任意文本,比如'abc',"abc". 布尔值boolean,布尔值只有两种值,true或者false。 &&与,||或,!非。 编程形式的区别:面向对象、面向过程 typeof:六种数据类型:number string boolean undefined object function typeof返回的是对象的两个object:null和{} 浏览器组成 shell部分 内核部分 渲染引擎(html和css基础语法识别、语法规则和渲染) js引擎 其他模块 2008年谷歌发布最新浏览器chrome,能把js代码直接转化成机械码来执行。 js特点 js是解释性语言(浏览器读一行翻译一行,php/python也是解释性语言) 优点:跨平台、单线程(异步传输数据:) 不足:速度较慢 js标准 标准是由ecma制定的 所以有时候也叫ecmascript 延申两个部分dom bom js三大部分

使用jquery获取url及url参数的方法

霸气de小男生 提交于 2019-11-30 03:20:12
使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1、jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javascript的基础的window对象,并没有用jquery的知识。 2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情 首先看看单纯的通过javascript是如何来获取url中的某个参数: //获取url中的参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null) return unescape(r[2]); return null; //返回参数值 } 通过这个函数传递url中的参数名就可以获取到参数的值,比如url为 http://localhost:33064/WebForm2.aspx?reurl=WebForm1.aspx 我们要获取reurl的值,可以这样写: var xx = getUrlParam(

JavaWeb学习笔记04-JavaScript对象

醉酒当歌 提交于 2019-11-30 01:25:27
基本对象 1. Function:函数(方法)对象 1. 创建: 1. `var fun = new Function(形式参数列表,方法体); 2. ` function 方法名称 ( 形式参数列表 ) { ` 方法体 } 3. var 方法名 = function ( 形式参数列表 ) { 方法体 } 方法: 属性: length:代表形参的个数 特点: 1. 方法定义时,形参的类型不用写,返回值类型也不写。 2. 方法是一个对象,如果定义名称相同的方法,会覆盖 3. 在JS中,方法的调用只与方法的名称有关,和参数列表无关 4. 在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数 5. 调用: 方法名称(实际参数列表); 代码实现: < ! DOCTYPE html > < html lang = "en" > < head > < meta charset = "UTF-8" > < title > Function对象 < / title > < script > var fun1 = new Function ( "a" , "b" , 'alert(a);' ) ; //创建方式1,不好,可以忘记 fun1 ( 3 , 4 ) //直接调用 < / script > < script > function fun2 ( a , b ) {

javascript-ECMAScript

余生颓废 提交于 2019-11-30 00:53:05
javascript介绍 Web前端有三层: HTML:从语义的角度,描述页面 结构 CSS:从审美的角度,描述 样式 (美化页面) JavaScript:从交互的角度,描述 行为 (提升用户体验) 其中JavaScript基础又分为三个部分: ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。 DOM:文档对象模型,操作网页上的元素的API。比如让盒子移动、变色、轮播图等。 BOM:浏览器对象模型,操作浏览器部分功能的API。比如让浏览器自动滚动。 JavaScript历史背景介绍 布兰登 • 艾奇(Brendan Eich,1961年~),1995年在网景公司,发明的JavaScript。 一开始JavaScript叫做LiveScript,但是由于当时Java这个语言特别火,所以为了傍大牌,就改名为JavaScript。如同“北大”和“北大青鸟”的关系。“北大青鸟”就是傍“北大”大牌。 同时期还有其他的网页语言,比如VBScript、JScript等等,但是后来都被JavaScript打败了,所以现在的浏览器中,只运行一种脚本语言就是JavaScript ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers

怎样创建一个独立于当前文档的新的Document对象

只谈情不闲聊 提交于 2019-11-30 00:32:21
使用: document.implementation . 如下所示, 新创建的Document对象可以正常使用相关属性和方法, 然后将它的根节点与当前文档的根节点做一个替换. var doc = document.implementation.createHTMLDocument('Title'); var p = doc.createElement('p'); p.innerHTML = 'hello world'; doc.body.appendChild(p); document.replaceChild( doc.documentElement, document.documentElement ); 注意: 1. document.implementation 返回一个 DOMImplementation 实例对象. 2. DOMImplementation 对象有三个方法, 分别创建三种不同的文档类型: // DOMImplementation.createDocument():创建一个 XML 文档。 // DOMImplementation.createHTMLDocument():创建一个 HTML 文档。 // DOMImplementation.createDocumentType():创建一个 DocumentType 对象。 来源: https:/

闭包案例---每隔一秒打印一个数

僤鯓⒐⒋嵵緔 提交于 2019-11-29 23:16:58
// 每个一秒打印一个数 // 方法一:利用闭包实现 for (var i = 1; i <= 5; i++) { (function (i) { setTimeout(() => { console.log(i); }, 1000 * i); })(i); } // 方法二: for (var i = 1; i <= 5; i++) { setTimeout((function (i) { return () => { console.log(i); } })(i), 1000 * i); } 来源: https://www.cnblogs.com/lixiaoxue/p/11228667.html

Vue setter/getter 是何原理?

时光总嘲笑我的痴心妄想 提交于 2019-11-29 21:43:24
1 、 defineProperty 重定义对象 JS原生es5版本提供对象重新定义的接口 defineProperty defineProperty 可以修改对象的访问器属性,对象属性值发生变化前后可以触发回调函数。 对象的访问器属性包括 2 种类型:数据描述符、 存取描述符 1.1 数据描述符 value:对象key的值,默认是 空字符串 '' writeable:是否可写,默认 true configurable:true是否可配置,默认 true enumerable:true是否可枚举, 默认 true Object.getOwnPropertyDescriptors(obj); { k:{ configurable: true, enumerable: true, value: 90, writable: true } } 1.2 存取描述符 set:function(){}属性访问器 进行写操作时调用该方法 get:function(){}属性访问器 进行读操作时调用该方法 属性描述符: configurable 、enumerable configurable 、 enumerable 、 set 、 get 对象中新增 key 的value发生变化时会 经过set和get方法 。 var obj = {};var temp = ''; Object

js中数组的迭代方法

旧城冷巷雨未停 提交于 2019-11-29 20:57:36
1、forEach 让数组的每一项做一件事 var arr = [1,2,3,4,5] arr.forEach(function(item,index){ console.log(item) }) 2、map 让数组通过某种计算生成一个新的数组 var arr = [1,2,3,4,5] var arr1 = arr.map(function(item,index){ return item*2 })//会产生一个新数组 3、filter 筛选出数组中符合条件的项 var arr = [1,2,3,4,5] var arr1 = arr.filter(function(item,index){ return item>3 }) //返回一个符合条件的新数组 4、reduce 让数组的前项和后项做某种计算,并累计最终值 var arr = [1,2,3,4,5] var arr1 = arr.reduce(function(pre,next){ return pre+next }) //返回最终的计算结果 5、every 检测数组中是否每一项都符合要求(所有项都符合才返回) var arr = [1,2,3,4,5] arr.every(function(item,index){ return item>4 }) //返回true或者false 6、some