数组,函数
concat
将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响。
var arr = ["a","b","c"];
var arr1 = arr.concat("d","e");
//arr1 = ["a","b","c","d","e"]
join
以指定的字符作为分割符,将数组转换为字符串,当指定字符为逗号时,其作用和 toString() 相同。
var str1 = arr.join(",");
//str1 = "a,b,c"
pop
通俗的讲,就是弹出数组的最后一个元素。结合下面的 push 方法,使得将数组作为栈来使用成为可能。pop 方法返回数组最后一个元素的值,并将 length 属性减 1,即返回后立即丢失最后一个元素。
var item1 = arr.pop();
//item1 = "c"
push
将参数添加到数组的结尾。
arr.push("d","e");
alert(arr);
//arr = ["a","b","c","d","e"]
reverse
将数组中的元素反转排列,这个操作是在原有数组上经行操作,同时也返回数组本身。
arr.reverse();
alert(arr);
//arr = ["c"."b","a"]
shift
移去数组的第一个元素,并返回这个元素的值。这个方法的性质和 pop 方法很类似,pop 方法是移去最后一个元素。
var item1 = arr.shift();
//item1 = "a"
unshift
将参数列表插入到数组的开头。其性质和 push 方法类型,但 push 方法是将元素添加到数组的结尾。
arr.unshift("d","e");
alert(arr);
//arr = ["d","e","a","b","c"]
slice
返回数组对象的一个子集,索引从开始(包括开始位置元素),到结束(不包括结束位置元素),原有数组不受影响。当 开始或者结束为负数时,则使用他们加上数组长度后的值。如果结束小于等于开始,将返回空数组。
var item1 = arr.slice(1,2);
//item1 = "b"
var item2 = arr.slice(-2,-1);
//item2 = "b"
splice
从数组对象中移除指定长度的元素,并替换为新的元素(相当于执行替换操作)。如果没有指定新的元素,则相当于执行删除操作。返回被删除元素组成的数组。
var arr1 = arr.splice(1,2,"d","e");
//arr1 = ["b","c"]
alert(arr);//["a","d","e"]
var arr2 = arr.splice(1,2);
//arr2 = ["d","e"]
alert(arr);
//arr = ["a"]
二维码的插件
二维码生成器的应用原理其实就是二维码生成软件,你可以将个人信息、网址、电话号码等信息输入到二维码生成器中,生成相应的二维码,然后进行保存应用。
中文名称
二维码生成器
应用原理
很多0、1组成的数字矩阵
常见生成器
Label Painter,Label mx等
作 用
积分抽奖等
二维码生成器的应用原理其实就是二维码生成软件,你可以将个人信息输入到二维码生成器中,生成相应的二维码,然后进行保存应用。
这里的个人信息可以是:数字,网址,文字,图片,视频以及名片信息等,你可以将你想要生成二维码的信息
进行导入,二维码生成器就会自动生成二维码。
我们常见的二维码生成器,国外的有Label Painter,Bartender,Label mx等。一般在网上都可以下载到。
禁止鼠标点击的方法
<SCRIPT language="JavaScript">
function click()
{
if(event.button==2)
{
alert(‘鼠标不能点击了!‘)
}
}
document.onmousedown=click
</SCRIPT>
数组里怎样插入和取出内容
$(function(){
var aArray = {};//定义一个数组
aArray[‘name‘] = "张三";
aArray[‘sex‘] = "男";
aArray[‘mail‘] = "[email protected]";//把值一个个添加到数组中。
var arrayValue = aArray[‘name‘];//取出其中一个值
alert(arrayValue);
})
递归
程序调用自身的编程技巧称为递归( recursion)递归,就是在运行的过程中调用自己。
递归算法是一种直接或者间接地调用自身的算法。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。
递归算法解决问题的特点:
(1) 递归就是在过程或函数里调用自身。
(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
(3) 递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。所以一般不提倡用递归算法设计程序。
(4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。
函数封装、调用
function getUserInfo(){
$.ajax({
type: "POST",
url: "/user",
dataType: "json",
contentType: "application/json;utf-8",
timeout: 6000,
error: function () { },
success: function (data) {
console.log(data);
}
});
};
内置函数
javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数
1.常规函数
javascript常规函数包括以下9个函数: (1)alert函数:显示一个警告对话框,包括一个OK按钮。 (2)confirm函数:显示一个确认对话框,包括OK、Cancel按钮。 (3)escape函数:将字符转换成Unicode码。 (4)eval函数:计算表达式的结果。 (5)isNaN函数:测试是(true)否(false)不是一个数字。 (6)parseFloat函数:将字符串转换成符点数字形式。 (7)parseInt函数:将符串转换成整数数字形式(可指定几进制)。 (8)prompt函数:显示一个输入对话框,提示等待用户输入。例如:
<script language="javascript"> <!-- alert("输入错误"); prompt("请输入您的姓名","姓名");
//(标题,预设值) confirm("确定否!"); //--> </script> (9)unescape函数:解码由
escape函数编码的字符。 2.数组函数
javascript数组函数包括以下4个函数: (1)join函数:转换并连接数组中的所有元素为一个字符串。例: function JoinDemo() { var a, b; a = new Array(0,1,2,3,4); b = a.join("-");//分隔符 return(b);//返回的b=="0-1-2-3-4" } (2)langth函数:返回数组的长度。例: function LengthDemo() { var a, l;
执行这个函数, 希望有个回调,例如: 接上上面的函数写
getUserInfo(data,function(data){
console.log(data);
})
形参、实参、作用域
def test(a):
a = 20
print("这是在调用函数之时的值: %s"%a)
a = 10
print("这是在调用函数之前的值: %s"%a)
test(a)
print("这是在调用函数之后的值: %s"%a)
运行结果:
这是在调用函数之前的值: 10
这是在调用函数之时的值: 20
这是在调用函数之后的值: 10
结论:当变量重名时函数内部的变量会覆盖外部变量,因此尽量避免重名现象,虽然它能通过语法检查。
全局变量
全局变量是编程术语中的一种,源自于变量之分。
变量分为局部与全局,局部变量又可称之为内部变量。由某对象或某个函数所创建的变量通常都是局部
变量,只能被内部引用,而无法被其它对象或函数引用。
全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对
象或函数引用。一个局部变量在被其它对象引用时,会是一个空值。但全局变量却不会出现这种情况。
局部变量
局部变量(Local variables)指在程序中只在特定过程或函数中可以访问的变量。局部变量是相对于全局
变量而言的。在C++、C#、Ruby这些面向对象语言中,一般只使用局部变量。面向对象编程是现在普
遍采用的是软件开发方法,因此无需考虑是局部变量还是全局变量,说到变量,往往都是局部变量。
原型链
JS在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做__proto__的内置属性,用于指向创建它的函数对象的原型对象prototype。以上面的例子为例:
console.log(zjh.__proto__ === person.prototype) //true
同样,person.prototype对象也有__proto__属性,它指向创建它的函数对象(Object)的prototype
console.log(person.prototype.__proto__ === Object.prototype) //true
继续,Object.prototype对象也有__proto__属性,但它比较特殊,为null
console.log(Object.prototype.__proto__) //null
对象是啥
JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。
在 JavaScript 中,对象是拥有属性和方法的数据。
属性和方法
属性是与对象相关的值。
方法是能够在对象上执行的动作。
举例:汽车就是现实生活中的对象。
汽车的属性:
car.name=Fiat
car.model=500
car.weight=850kg
car.color=white
汽车的方法:
car.start()
car.drive()
car.brake()