]1 函数 1 函数就是一段待执行的代码段 2 函数可以实现功能的封装,可以实现代码的复用 3 函数使用: 1 函数声明 2 函数调用 4 语法: 1 函数声明 1 使用function关键字进行函数的声明 et: function 函数名 (参数列表){函数体1} 2 函数名自定义,普通函数的函数名尽量使用小写或小驼峰 3 参数列表,函数体执行所需的数据 4 函数体就是待执行的代码段 5 return 表示返回值,将函数执行的结果返回给外界,只能返回一个值,return后的代码都不执行 2 函数调用 语法:(函数名(参数列表)) 注意:如果函数存在返回值,需要定义变量接收 var res=函数名() 3 使用: 1 函数先声明,后调用(非强制) 2 参数传递: 函数声明时定义的参数列表,称为形参,只声明变量,不考虑赋值 函数调用时给出的参数,是实际参数,调用的过程中,将实际参数赋值给形参,参与函数体中代码中代码的执行。 3 函数可以声明多个参数,使用,隔开 4 函数声明和调用时的参数个数可以不匹配 4 匿名函数 省略函数名的函数 语法: 1 function (){} var fn=function(){}; 将匿名函数保存给一个变量,使用变量名()的方式调用 fn() 2 匿名函数自执行 (function(){})(); (function (){console.log('111')})(); 第一个()中是匿名函数,正常书写 第二个()表示函数调用,正常传参 2 变量作用域 1 变量起作用的范围 2 分类: 1 全局作用域 全局作用域中的变量为全局变量,在整个程序的任何地方都可以访问和使用。 使用: 1 所有在函数外部创建的变量都是全局变量 2 省略var 关键字创建的变量,都是全局变量 2 局部作用域(函数作用域) 在函数体内部起作用的变量,称为局部变量 函数体的{}就是局部作用域 使用: 在函数体中使用var 关键字定义的变量,就是局部变量,只在当前作用域作用域(函数体)中起作用,外界无法访问 3 作用域查找: 如果函数内部与外部定义了同名的变量, 函数体中访问,采用就近原则, 先查找当前局部作用域,找不到再到上一级作用域中查找 3 数组 1 有序的元素序列,用来存放一组数据 2 创建: 1 var arr1 = []; //创建空数组 2 var aarr2 = new Array(); // 创建空数组 3 初始化数据 1var arr3 = [10,20,30]; //创建同时的初始化元素 2根据下标初始化元素:数组会为元素自动分配下标,从0开始 var arr4 = []; arr4[0] = 100; arr4[3] = 200; 3 使用nwe关键字初始化 var arr5 = new Array(10,20,30); //等价于第一种初始化方式 4 初始化数组长度 var arr6 = new Array(5); //创建一个长度为5的数组 3 使用: 1 使用数组名[index]的方式操作数组元素 根据下标访问元素 arr[0] 根据下标修改元素 arr[0] = 1; 2 数组是对象类型 对象是由属性和方法组成的 通过点语法访问对象的属性和方法 1 属性: length 获取数组长度 arr.length ;获取数组长度 清空数组: arr.length = 0; 3 遍历数组 循环输出数组元素 et: for (var i = 0;i<=arr.length-1;i++){ console.log(arr[i])} 4 数组方法 1 常用API 1 to String() 将数组内容转换为字符串,并返回 2 join() 将数组中元素拼接成一个字符串,并返回。 参数:可以指定数组元素之间的连接符 默认以逗号连接 3 reverse() 反转数组元素,倒序重新排列元素,返回反转后的数组 注意: reverser()是对当前数组结构的调整,不会生成新数组直接反转原始数组 可以不接受返回值 4 sort() 将数组内容进行排序,返回排序后的数值,默认按照Unicode编码排序 注意: sort()方法也是对数组结构的调整,直接对原数组的元素进行排序,会改变原始数组 参数可以为自定义的排序函数 function test(){ var arr1=[500,45,100,2,3]; function Asc(a,b){ return b-a; //两两比较,倒序排列 } return arr1.sort(Asc); } test() 5 push(data) 表示在数组的末尾追加元素 参数:可以是一个,也可以是多个,多参数之间使用逗号隔开 返回值:返回新数组的长度 直接调整数组结构 6 pop() 表示删除数组最后一个元素 返回值:返回被删除的元素 数组的存储结构: 数组在内在中使用栈结构存储,先进后出 7 unshift(data) 向数组的头部添加元素 参数:可以是一个元素,也可以是多个元素 返回值:返回添加元素之后的数组长度 8 shift() 删除数组的头部元素 返回被删除的元素 5 二维数组: 数组中的每一个元素都是一个小数组 et : JS的内置对象 1 对象 对象由属性和方法组成,可以使用点语法访问对象的属性和方法 2 对象分类: 1 内置对象: 由ECMAScript规定,例如数组,字符串,数学对象,日期对象... 2 DOM 对象 浏览器对象模型,由浏览器各大厂商制定,提供一系列与浏览器操作相关的对象 3 DOM 对象: 文档对象模型:提供一系列规范的操作文档的对象 4 自定义对象 1 String对象 var str1= 'hello' var str2 = new String('word'); 2 属性和方法 1 属性: length:获取字符串长度 var s ='hello' //5 var s2 =h e l l o''//9 2 方法: 1 英文字符串的大小写转换 1 toUpperCase() 全转换成大写字母 2 toLowerCase() 全转换成小写字母 注意: 该方法会返回新的字符串,不影响原始字符串 2 获取字符或字符编码 1 charAt(0) 字符 2 charCodeAt(0) 编码 随机Math.random()

function test(){ var a=[1,2,3,4,5,6,7,8,9] var c=[]; for(var I=1;I<=6;I++){ var _=get_rande() c.push(a[_]) console.log(c); } var a=prompt('pleale,,---'+c) if (a==c.join('')){console.log('true')} return 1 } function get_rande(){ while(true){ var b=(Math.random()*9) if(parseInt(b)==0){;continue} return parseInt(b) } }