js

js(三)——ECMAScript基础之流程控制

99封情书 提交于 2020-02-04 03:11:24
顺序结构 从上到下执行的代码就是顺序结构 程序默认就是由上到下顺序执行的 条件结构 根据不同的情况,执行对应代码 循环结构 循环结构:重复做一件事情 分支结构 if (/* 条件1 */){ // 成立执行语句 } else if (/* 条件2 */){ // 成立执行语句 } else if (/* 条件3 */){ // 成立执行语句 } else { // 最后默认执行语句 } 三元运算符语法 表达式1 ? 表达式2 : 表达式3 是对if……else语句的一种简化写法 switch语句语法 switch (expression) { case 常量1: 语句; break; case 常量2: 语句; break; … case 常量n: 语句; break; default: 语句; break; } 循环结构 while语句 基本语法: while (循环条件) { //循环体 } do...while语句 do { // 循环体; } while (循环条件); for语句 // for循环的表达式之间用的是;号分隔的,千万不要写成, for (初始化表达式1; 判断表达式2; 自增表达式3) { // 循环体4 } continue和break break:立即跳出整个循环,即循环结束,开始执行循环后面的内容(直接跳到大括号) continue:立即跳出当前循环

JS内置对象

二次信任 提交于 2020-02-04 02:36:55
JS内置对象 JavaScript中的三种对象:自定义对象、内置对象、浏览器对象 ECMAScript中的对象:自定义对象、内置对象 内置对象:内置对象就是系统提供的对象,已经存在的对象,例如Math、Array、Data… Math对象 Math对象不是构造函数,它具有数学常数和函数的属性和方法,都是以静态成员的方式提供跟数学相关的运算来找Math中的成员(求绝对值、取整) Data对象 Data实例用来处理日期和时间。Data对象基于1970年一月一日(世界标准时间)起的毫秒数 Math对象和Data对象的区别: Math 不是一个构造函数,里面提供的是静态成员 Data 是一个构造函数,首先要通过new Data () 来创建日期实例(对象),实例成员 Data()函数的使用方法 //日期构造函数 Data ( ) var d = new Data ( ) ; //1 空构造函数 获取的是当前时间对象 console. log ( d ) ; //距离1970-1-1相差的毫秒数 valueof ( ) 可以获取当前的毫秒数 console. log ( valueof ( ) ) ; //2 构造函数中传入毫秒数 var d = new Data ( 1502088177998 ) ; console. log ( d ) ; //3 可以传入日期形式的字符串 var d

Js程序设计基础----4.Math工具函数 数组, 表,高级使用

只愿长相守 提交于 2020-02-04 02:23:41
Math工具函数 1:Math.PI 2:Math.random 返回 [0, 1)范围的数; 3:Math.floor(); 向下取整数; 4:Math.sin, Math.cos, Math.tan 三角函数 5: 角度转弧度,弧度转角度; 6: 反三角函数Math.asin, Math.acos, Math.atan; 7: Math.atan2(y, x), 返回一个坐标(y, x)对应的角度;(-PI, PI]; 8: Math.sqrt 开根号; 数组的高级使用 1:array.length; 获取数组的长度; 2:遍历一个数组; for(var key in array); 3: 向数组末尾加入一个元素; push 4: 查找对象在数组中所对应的索引; indexOf() 5: 删除数组的某个元素; splice(开始索引,要删除的个数) 6: 数组的排序; 7: 随机 打乱一个数列; 8:随机的从一堆的数据里面抽取一个值; 表的高级使用 1:遍历一个表; for(key in table) 2: 删除表中的数据; delete list_data[4]; 字符串对象高级使用 1:str.length;属性 2: str.indexOf();返回子串首次出现的位置; 3:str.replace(/Microsoft/,"W3School"); 4

js(四)——ECMAScript基础之数组

强颜欢笑 提交于 2020-02-04 00:39:22
数组的定义 数组是一个有序的列表, 可以在数组中存放任意的数据 ,并且数组的长度可以动态的调整。 通过数组字面量创建数组 // 创建一个空数组 var arr1 = []; // 创建一个包含3个数值的数组,多个数组项以逗号隔开 var arr2 = [1, 3, 4]; // 创建一个包含2个字符串的数组 var arr3 = ['a', 'c']; ​ // 可以通过数组的length属性获取数组的长度 console.log(arr3.length); // 可以设置length属性改变数组中元素的个数 arr3.length = 0; 获取数组元素 数组的取值 // 格式:数组名[下标] 下标又称索引 // 功能:获取数组对应下标的那个值,如果下标不存在,则返回undefined。 var arr = ['red',, 'green', 'blue']; arr[0]; // red arr[2]; // blue arr[3]; // 这个数组的最大下标为2,因此返回undefined 遍历数组 遍历:遍及所有,对数组的每一个元素都访问一次就叫遍历。 数组遍历的基本语法: for(var i = 0; i < arr.length; i++) { // 数组遍历的固定结构 } 数组中新增元素 数组的赋值 // 格式:数组名[下标/索引] = 值; // 如果下标有对应的值

JS中跨域的方法

荒凉一梦 提交于 2020-02-04 00:16:11
同源策略(协议+域名+端口号要相同) 1、jsonp跨域(只能解决get) 原理:动态的创建一个script标签。利用script标签的src属性(不受同源策略的限制,因为所有的src属性和href属性都不受同源策略的限制,可以请求第三方服务器资源内容) 步骤:1、创建一个script标签 2、script的src属性设置接口地址 3、接口参数,必须要带一个自定义的函数名,要不然无法接收返回的数据 4、通过自定义函数去接收返回的数据 2、document.domain 基础域名相同,子域名不同 3、window.name利用在一个浏览器窗口内,载入所有的域名共享一个window.name 4、服务器设置对CORS的支持, 原理: 服务器设置Access-Control-Allow-Origin http响应头之后,浏览器将会允许跨域请求 5、利用h5新特性window.postMassage() 来源: CSDN 作者: 不胖的胖子 链接: https://blog.csdn.net/Farmer_Lsm/article/details/104154563

js之DOM对象三

吃可爱长大的小学妹 提交于 2020-02-03 23:14:07
js之DOM对象三 一、JS中for循环遍历测试 for循环遍历有两种 第一种:是有条件的那种,例如 for(var i = 0;i<ele.length;i++){} 第二种:for (var i in li ){} 现在我们来说一下测试一下第二种(数组和obj的) 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <script> 9 var arr = [11,22,33,44,55]; 10 var obj = {'username':'zzz','agr':20}; //js中的这个类似字典的不叫字典,而是一个对象 11 for (var i in obj){ 12 console.log(i); //拿到的是键 13 console.log(obj[i]) //值 14 } 15 for (var j in arr){ 16 console.log(j); //拿到索引 17 console.log(arr[j]) //拿到值 18 } 19 </script> 20 </body> 21 </html> 二、获取value属性值 1 <!DOCTYPE html> 2 <html lang=

前端之JS(五)

老子叫甜甜 提交于 2020-02-03 23:10:24
js的作用域 作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。 任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 作用域 1. 全局作用域(Global Scope) 在代码中任何地方都能访问到的对象拥有全局作用域,一般来说一下几种情形拥有全局作用域: (1)最外层函数和在最外层函数外面定义的变量拥有全局作用域 var name="yuan"; function foo(){ var age=23; function inner(){ console.log(age); } inner(); } console.log(name); // yuan //console.log(age); // Uncaught ReferenceError: age is not defined foo(); // 23 inner(); // Uncaught ReferenceError: inner is not defined (2)所有末定义直接赋值的变量自动声明为拥有全局作用域,例如: var name="yuan"; function foo(){ age=23

form表单提交无页面刷新(非js)

隐身守侯 提交于 2020-02-03 23:10:07
先看一段代码(PHP例子) 1、表单代码(form.php): <?php header("Content-type: text/html; charset=utf8"); ?> <iframe name="testIframeName" style="display:none;"></iframe> <form target="testIframeName" method="post" action="formAction.php"> <input type="text" name="username"/> <input type="password" name="password"/> <input type="submit" value=" 提 交 " /> </form> 2、action代码(formAction.php): <?php echo "<script>alert('test....');</script>"; ?> OK,上面的代码非常简单,但实现了表单提交无刷新....哪这是为什么呢? 哦~其实很基础的东西......就是form标签的属性问题.....如图: 来源: https://www.cnblogs.com/Amagasaki/p/5059820.html

js判断是否是ie浏览器且给出ie版本

拟墨画扇 提交于 2020-02-03 22:56:19
每天学习一点点 编程PDF电子书、视频教程免费下载: http://www.shitanlife.com/code function IEVersion() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器 var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1; if(isIE) { var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(userAgent); var fIEVersion = parseFloat(RegExp["$1"]); if(fIEVersion == 7) { return 7; } else if(fIEVersion == 8) { return 8; } else if

前端之JavaScript:JS之DOM对象三

守給你的承諾、 提交于 2020-02-03 22:55:09
一、JS中for循环遍历测试 for循环遍历有两种 第一种:是有条件的那种,例如 for(var i = 0;i<ele.length;i++){} 第二种:for (var i in li ){} 现在我们来说一下测试一下第二种(数组和obj的) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> var arr = [11,22,33,44,55]; var obj = {'username':'zzz','agr':20}; //js中的这个类似字典的不叫字典,而是一个对象 for (var i in obj){ console.log(i); //拿到的是键 console.log(obj[i]) //值 } for (var j in arr){ console.log(j); //拿到索引 console.log(arr[j]) //拿到值 } </script> </body> </html> 测试for循环 二、获取value属性值 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title