动次打次,开始努力地学习学习JavaScript-------------------------------------------------------->分割线
JavaScript:数据+过程
-->数据:简单数据和复杂数据
--->简单数据:undefined,null,boolean,number和string
--->复杂数据:object(对象)
-->过程:function
简单数据:
--> undefined:变量不含有值,typeof(undefined) 是‘undefined’
--> null:变量为空 ,typeof(null) 是'object'
--> boolean:true / false
--> number:可以带小数点,也可以不带小数点
--> string:'bulabula'
复杂数据:
-->object:对象由花括号包围来定义,在括号内部,属性以键值对的形式,如 key : value 来定义,又称属性名和属性值。
属性间由逗号分隔,逗号和属性名之间可以以换行的形式进行间隔,也可以以空格的形式进行间隔。
function可以返回值,也可以不返回值,可以有参数,也可以没有参数。传参很大程度上解决了不同作用域的参数命令可能一样而产生混乱的问题。
--->有返回值
--->没有返回值
--->支持对函数进行嵌套声明,也就是说,可以在一个函数中声明另一个函数。
因此,可以在内部函数中访问其外部函数作用域的变量(变量名的查找顺序是先内后外!!)
JavaScript:数据+过程
-->数据:简单数据和复杂数据
--->简单数据:undefined,null,boolean,number和string
--->复杂数据:object(对象)
-->过程:function
简单数据:
--> undefined:变量不含有值,typeof(undefined) 是‘undefined’
--> null:变量为空 ,typeof(null) 是'object'
--> boolean:true / false
--> number:可以带小数点,也可以不带小数点
--> string:'bulabula'
复杂数据:
-->object:对象由花括号包围来定义,在括号内部,属性以键值对的形式,如 key : value 来定义,又称属性名和属性值。
属性间由逗号分隔,逗号和属性名之间可以以换行的形式进行间隔,也可以以空格的形式进行间隔。
var tester{
name:'2tong',
age:2,
id:'z221'
}
复杂数据在取值的时候,可以采用如下两种方式:
//直接取值
var value = tester.name;
//支持传入变量取值
var value = tester['name'];
--->特殊的对象:数组Array:属性名是一样的,属性值有多个
var names = ['2tong','tong','2'];
//获取数组的长度
var len = names.length;
//获取指定元素
var temp = names[0];
过程:
function function_name(arg1,arg2,arg3){
......
}
Javascript是自上而下执行的,
function的声明代码不会被调用执行,但会向数据的声明一样,被声明执行,只有在调用这个function的时候,function内部的代码才会执行起来!!
function可以返回值,也可以不返回值,可以有参数,也可以没有参数。传参很大程度上解决了不同作用域的参数命令可能一样而产生混乱的问题。
--->有返回值
function callName(name){
console.log("hello,"+name);
return name;
}
如果一个function是有返回值的,那么
var name = "2tong";
var test = callName(name);
console.log(test);
的结果会是console>2tong,test的值就是name的值
--->没有返回值
function showName(name){
console.log("hello,"+name);
//return name;
}
如果一个function是有返回值的,那么
var name = "2tong";
var test = showName(name);
console.log(test);
的结果会是undefined,和var test = undefined;相同的功效
--->支持对函数进行嵌套声明,也就是说,可以在一个函数中声明另一个函数。
因此,可以在内部函数中访问其外部函数作用域的变量(变量名的查找顺序是先内后外!!)