JS (二)

]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)
}
}
View Code---JS做简单验证码
原文地址:https://www.cnblogs.com/Skyda/p/9812528.html