var方法

JS判断数组中是否包含某个值

为君一笑 提交于 2020-01-15 15:59:02
方法1:array.indexOf 此方法判断数组中是否存在某个值,如果存在,则返回数组元素的下标,否则返回-1。 var arr=[1,2,3,4]; var index=arr.indexOf(3); console.log(index);    方法2:array.includes(searcElement[,fromIndex]) 此方法判断数组中是否存在某个值,如果存在返回true,否则返回false var arr=[1,2,3,4]; if(arr.includes(3)) console.log("存在"); else console.log("不存在");    方法3:array.find(callback[,thisArg]) 返回数组中满足条件的第一个元素的值,如果没有,返回undefined var arr=[1,2,3,4]; var result = arr.find(item =>{ return item > 3 }); console.log(result);    方法4:array.findeIndex(callback[,thisArg]) 返回数组中满足条件的第一个元素的下标,如果没有找到,返回 -1 var arr=[1,2,3,4]; var result = arr.findIndex(item =>{ return item >

17、ES6

做~自己de王妃 提交于 2020-01-15 06:13:36
一、声明变量 (一)let: 声明变量 1.没有声明提前的概念 2.不能在同一作用域重复声明同一个变量 3.块级作用域{} 1 let a = 20; 2 function show(){ 3 let a = 20; 4 } 5 console.log(a) 6 报错:Identifier 'a' has already 7 been declared 变量a已经被声明 案例:输出按钮索引值 1 //ES5方法 2 //相当于var i; 3 for(var i=0;i<btns.length;i++){ 4 btn[i].idx = i; 5 btns[i].onclick = function(){ 6 setTimeout(function(){ 7 console.log(this.idx); 8 }.bind(this),2000) 9 } 10 } 11 //ES6方法: 12 for(let i=0;i<btns.length;i++){ 13 //相当于let i; 14 btns[i].onclick = function(){ 15 setTimeout(function(){ 16 console.log(i); 17 },2000) 18 } 19 } 20 //考察知识点: 21 //1.变量的访问规则 22 //2.let的块级作用域{} (二

JavaScript基础笔记

℡╲_俬逩灬. 提交于 2020-01-14 18:43:27
JavaScript基础 1,概述 1.1基本概念:一门客户端脚本语言 * 运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎 * 脚本语言:不需要编译,直接就可以被浏览器解析执行了。《转载自网络》 1.2,功能: * 可以来增强用户和html页面的交互过程,可以来控制html元 * 素,让页面有一些动态的效果,增强用户的体验。 1.3,发展史 不用了解,感觉没啥用。 1.4,具体分类: JavaScript是由ECMAScript和JavaScript独有的内容组成的。 JavaScript中独有的包括DOM和BOM。具体可以参考`JavaScript高级程序设计 3rd`。 2,ECMAScript概述 1,基本语法 1.1,常与html结合,结合方式分为两种: 1.1.1内部JS *定义`<script>`标签,标签体内容就是js代码 1.1.2外部JS(常用) *定义`<script>`标签,但是通过`src`属性进行外部引用。好处:减少程序间的耦合性。 *注意:script虽然可以定义在任何地方,但尽量定义在body的最下面,以便于加载整个资源。 除此之外,script标签可以定义多个 2,注释: 2.1,单行注释:// 2.2,多行注释/*注释的内容*/,在idea环境下,快捷键ctrl+shift+/ 3,数据类型 3.1原始数据类型(基本数据类型

编程题

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-12 22:57:40
写一个方法,求一个字符串的字节长度。(提示: 字符串有一个方法 charCodeAt();一个中文占两个字节,一个英文占一个字节 定义和用法 charCodeAt()方法可返回指定位置的字符的Unicode编码。这个返回值是0- 65535之间的整数。(当返回值是<=255时,为英文,当返回值> 255时为英文) 语法 stringObject.charCodeAt(index) eg: var str="Hellow orld!" console.log(str.charCodeAt(11),str.length);//输出33 两种方法: 第一种: function strLength(str){ var count = str.length; for(var i=0;i<str.length;i++){ if(str.charCodeAt(i)>255){ count++; console.log(count) } } } strLength("asdf我f我"); 第二种: function strLength(str){ var count = 0 ; for (var i= 0 ; i < str.length;i++){ if(str.charCodeAt(i)>255){ count+=2; }else{ count++; } } console.log(count

javascript继承的6种方法

[亡魂溺海] 提交于 2020-01-12 16:40:29
1原型式继承 简介:对类式继承的封装,过渡对象相当于子类。 function inheritObject(o) { //声明过渡函数对象 function F() {} //过渡对象的原型继承父类 F.prototype = o; return new F(); } //测试 var book = { name : "javascript", book : [ 'js', 'css'] }; var newbook = inheritObject(book); newbook.name = "ajax"; newbook.book.push( "Node"); var otherbook = inheritObject(book); otherbook.name = "xml"; otherbook.book.push( "React"); console.log(newbook.name); //ajax console.log(newbook.book); //[ 'js', 'css', 'Node', 'React' ] console.log(otherbook.name); //xml console.log(otherbook.book); //[ 'js', 'css', 'Node', 'React' ] console.log(book.name); /

JS—获取系统时间并刷新

狂风中的少年 提交于 2020-01-12 15:25:07
让显示时间跟着系统时间,每秒发生改变 //时间刷新 $ ( function ( ) { setInterval ( NowTime , 1000 ) ; } ) function NowTime ( ) { //获取年月日 var time = new Date ( ) ; // var year=time.getFullYear(); // var month=time.getMonth() + 1; // var day=time.getDate(); var date = time . toLocaleDateString ( ) ; //获取时分秒 var h = time . getHours ( ) ; var m = time . getMinutes ( ) ; var s = time . getSeconds ( ) ; //检查是否小于10 h = check ( h ) ; m = check ( m ) ; s = check ( s ) ; // document.getElementById("current").innerHTML="当前时间:"+year+"年"+month+"月"+day+"日 "+h+":"+m+":"+s; // $("#current").html(year+"年"+month+"月"+day+"日 "+h+":"+m+"

js基础(二)

和自甴很熟 提交于 2020-01-12 02:09:14
1、作用域   块级作用域:一个大括号可以看成是一块,在这块区域中定义的变量,只能在这个区域中使用。   全局变量:用var声明的变量,可以在任何地方使用   局部变量:在函数内部定义的变量   隐式全局变量:声明的变量没有var。全局变量是不能被删除的,隐式全局变量可以被删除。 { var a = 10; console.log(`a=${a}`); // 10 } console.log(`a=${a}`); // 10 { const b = 10; console.log(`b=${b}`); } //console.log(`b=${b}`); // b is not defined { let c = 10; console.log(`c=${c}`); } //console.log(`c=${c}`); // c is not defined   if块 if (false) { var b = 20; } console.log(`b=${b}`) // b=undefined if (true) { var c = 20; } console.log(`c=${c}`) // c=20   方法内定义的变量 function fun () { var a = 10; console.log(`fun方法内打印a的值,a=${a}`) } fun() /

数组去重主要的5种方法,

倖福魔咒の 提交于 2020-01-11 04:13:34
数组去重的方法 一、利用ES6 Set去重(ES6中最常用) var arr = [1,1,8,8,12,12,15,15,16,16]; function unique (arr) { return Array.from(new Set(arr)) } console.log(unique(arr)) //[1,8,12,15,16] 不考虑兼容性,这种去重的方法代码最少。这种方法还无法去掉“{}”空对象,后面的高阶方法会添加去掉重复“{}”的方法。 二、利用for嵌套for,然后splice去重(ES5中最常用) var arr = [1, 1, 8, 8, 12, 12, 15, 15, 16, 16]; function unlink(arr) { for (var i = 0; i < arr.length; i++) { // 首次遍历数组 for (var j = i + 1; j < arr.length; j++) { // 再次遍历数组 if (arr[i] == arr[j]) { // 判断连个值是否相等 arr.splice(j, 1); // 相等删除后者 j--; } } } return arr } console.log(unlink(arr)); //NaN和{}没有去重,两个null直接消失了 双层循环,外层循环元素,内层循环时比较值。值相同时

JavaScript_BOM对象

╄→尐↘猪︶ㄣ 提交于 2020-01-10 21:56:21
BOM(浏览器对象模型),它可以对浏览器窗口进行访问和操作,使用BOM,我们可以移动窗口、改变状态中的文本及执行其他与页面内容不直接相关的动作。 简而言之:BOM对象的功能就是使JavaScript有能力与浏览器’对话’,以便达到我们想要的效果。 一.Window对象 1.简单说明 所有的浏览器都支持window对象; 从概念上来讲,一个HTML文档对应一个window对象; 从功能上来说,它可以控制浏览器的窗口; 从使用上讲,window对象不需要创建对象,直接使用即可。 2.window对象方法 2.1.alert():页面弹框提醒 var s =window.alert("hi"); //返回结果为undefined,即无返回值 console.log('s='+s); 2.2.confirm():页面弹框让进行选择,返回值为布尔值(选择'确认",则返回true;选择'取消'返回false) var res= window.confirm("this is a person ?") console.log('res='+res); 2.3.prompt():页面弹框让用户进行输入,点击'确定'后返回值为用户输入的字符串值,点击'取消'后,返回值为null var name = window.prompt("pelase input your name:"); console

php序列化和反序列化学习

旧巷老猫 提交于 2020-01-10 20:50:27
1、什么是序列化 序列化说通俗点就是把一个对象变成可以传输的字符串。 1、举个例子,不知道大家知不知道json格式,这就是一种序列化,有可能就是通过array序列化而来的。而反序列化就是把那串可以传输的字符串再变回对象。 <?php //json序列化,json_encode(),json_decode() $book=array("book1"=>"web安全","book2"=>"主机安全","book3"=>"操作系统"); $json=json_encode($book); echo $json; ?> 输出结果: {"book1":"web安全","book2":"主机安全","book3":"操作系统"} 我们将数组序列化成json格式的字串的目的就是为了方便传输。我们可以看见,这里json格式来保存数据主要是使用键值对的形式。 2、对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些seesion先序列化到硬盘中,等要用了