]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' //
var s2 =h e l l o''//
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)
}
}

---JS做简单验证码

JS (二)的更多相关文章

  1. JS二维数组排序组合

    需求是这样的:http://q.cnblogs.com/q/29093/ 这里简述一下: 现在有一个不确定长度的数组.比如:var temp=[["Fu","Hai&qu ...

  2. 一天带你入门到放弃vue.js(二)

    接下来我们继续学习一天带你入门到放弃系列vue.js(二),如有问题请留言讨论! v-if index.html <div id="app"> <p v-if=& ...

  3. js 二维数组 for 循环重新赋值

    javascript 二维数组的重新 组装 var arr = [[1,2],[3,4],[5,6],[7,8]]; var temp = new Array(); for(var i= 0 ;i&l ...

  4. js二维数组定义和初始化的三种方法总结

    js二维数组定义和初始化的三种方法总结 方法一:直接定义并且初始化,这种遇到数量少的情况可以用var _TheArray = [["0-1","0-2"],[& ...

  5. Nuxt.js(二、解决首屏速度与SEO)

    Nuxt.js(二.解决首屏速度与SEO) 1.普通的Vue SPA初始化加载速度很慢 在传统的web应用中,当用户请求一个页面时,服务器直接返回一个html文件,浏览器直接渲染出来.但是,在vue应 ...

  6. js 二维码生成 插件

    <div onclick="liaotian()">点击生成二维码</div><div id="qrcode"></d ...

  7. js二维数组与字符串

    1. 二维数组:数组中的元素,又引用了另一个数组对象 何时使用:只要保存横行竖列的数据, 具有上下级包含关系的数据, 创建二维数组: 1. var arr=[]; col arr[0]=[" ...

  8. JS二维数据处理逻辑封装探究

    一.目的 定义出一个专门用于处理二维数据的组件,所谓二维数据就是能用二维表格显示出来的数据,所谓处理就是增删改查,很简单. 二.约束 外部程序给该组件传入如下形式的对象,让该组件自行解析. var t ...

  9. 简单又炫酷的two.js 二维动画教程

      前  言 S     N 今天呢给大家介绍一个小js框架,Two.JS.其实在自己学习的过程中并没有找到合适的教程,所以我这种学习延迟的同学是有一定难度的,然后准备给大家整理一份,简单易懂的小教程 ...

  10. js二维码插件总结

    jquery.qrcode.js生成二维码插件&转成图片格式 http://blog.csdn.net/u011127019/article/details/51226104

随机推荐

  1. Java中四个作用域的可见范围

    作用域 当前类 同一包 子孙类 其他包 public √ √ √ √ protected √ √ √ × friendly或default(即没有修饰符时的权限) √ √ × × private √ ...

  2. easyui datagrid设置一开始不加载数据

    解决办法就是:一开始的url属性设置为空,例如: <table id="dg" title="用户管理" class="easyui-datag ...

  3. jQuery BlockUI Plugin Demo 3(Page Blocking Examples)

    This page demonstrates several ways to block the page. Each button below activates blockUI and then ...

  4. 关于opencv的几个小总结

    关于opencv的几个小总结 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:opencv是一个非常好用的开源图像处理与计算机视觉支持库,但是在实际使用 ...

  5. vue {{}}的用法

    参考链接:https://blog.csdn.net/cofecode/article/details/78666233

  6. redis相关操作命令

    一.相关命令列表: 命令原型 时间复杂度 命令描述 返回值 KEYS pattern O(N) 时间复杂度中的N表示数据库中Key的数量.获取所有匹配pattern参数的Keys.需要说明的是,在我们 ...

  7. linux shell中的EOF

    关键词:EOF 在平时的运维工作中,我们经常会碰到这样一个场景:执行脚本的时候,需要往一个文件里自动输入N行内容.如果是少数的几行内容,还可以用echo追加方式,但如果是很多行,那么单纯用echo追加 ...

  8. FZU2018级算法第二次作业 2.10 逆序数(权值线段树)

    题目: Nk 最近喜欢上了研究逆序数,给出一个由 1…n 组成的数列 a1,a2,a3…an, a1的逆序数就是在 a2…an 中,比 a1 小的数的数量,而 a2 的逆序数就是 a3….an 中比 ...

  9. wordpress 后台添加 快速编辑 栏目

    前两篇其实是同一篇,都是讲在后台添加菜单类型的http://www.ashuwp.com/courses/highgrade/664.htmlhttps://shibashake.com/wordpr ...

  10. Python【编码】

    编码 ————————————————————————————————让只认识0和1的计算机,能够理解我们人类使用的语言符号,并且将数据转换为二进制进行存储和传输 人类语言到计算机语言转换的形式,就叫 ...