1.函数调用
传统方式 函数名();
匿名函数自调用:特点是程序代码没有停顿,立即执行调用
好处:可以避免变量污染,
var getInfo = function(){ //function没有名字,
console.log('');
}
getInfo();
//使得以下匿名函数发生执行
(function(){ //传形参
console.log();
})(); //传实参
//小括号提高优先级,(function(){console.log();})相当于函数调用
2.全局/局部变量
全局变量:
在函数外部声明的变量;
在函数内部不使用var声明的变量(函数调用之后起作用)
function f1(){
subject= "php"; //函数内部声明全局变量
}
f1();
console.log(suject);
局部变量:函数内部声明,前面有var
3.三种声明数组类型
名称和数据类型(可以不一致)都一致的许多变量的集合。
三种数组声明:
1.var arr = [xx,xxx,xxxx...];
2.var arr = new Array(xx,xxx,xxxx...);
3.var arr = new Array();
arr[0] = 元素;
arr[1] = 元素;
city['liaoning'] = "shengyang'; 给city对象声明一个"成员属性"
对象访问成员:对象.成员名称 对象[成员名称]
console.log(city.liaoning);
4.数组的两种遍历
for循环遍历:为了效果,下标最好是0123规则连续的
for in遍历:同时遍历数组和对象,下标有跳跃也没关系
for(var 下标变量 in 数组/对象)
for(var k in animal){
console.log(k+"----"+arr[k]);
}
5.数组常用方法
- instanceof()
- push()/pop() :在数组元素的尾部追加/删除元素
- unshift()/shift() 在数组元素的头部追加/删除元素
- sort() reverse()//颠倒位置
- slice(start,end)//返回数组一部分
- indexOf() //判断一个元素在数组中左边第一次出现的位置
lastindexOf()//判断一个元素在数组中右边第一次出现的位置
6.字符串为什么可以调用成员:表面是字符串调用成员,在浏览器JavaScript解释引擎内部要做具体处理,引擎根据字符串生成一个”临时对象”,是临时对象调用的成员并返回结果,之后该临时对象就被销毁了。
//字符串就是对象仅限 var name = new String(内容)
var title ="study php";
//字符串可以调用成员属性或方法
console.log(title.length);
console.log(title.susstr(0,5));
7.eval用法:把内部参数字符串当成表达式,在上下文环境中运行。经常用于把其他用户传递过来的字符串信息转变为JavaScript的实体(对象/数组等)信息。
console.log(eval(“a+b”);//会把a+b变成表达式运行起来
*eval(参数字符串)必须符合JS语法规则