数据类型
1. 字符串 String
2. 数字类型 Number
3. 布尔类型 boolean
4 .对象 Object
5. 空 null
6. 未定义 undefined
7. 数组 array
8. 函数 function
1.字符串 string
使用双引号或者单引号定义的
单引号和双引号都支持转义字符
单引号和双引号里面不能解析变量
字符串不能跨行定义
type of 可以获取数据类型
js连接符 +
例如: haha='我的年龄是'+age+"岁"
2.数字型 Number
整型(整数) int
浮点型(小数) float
非数值型 NaN
把字符串转成整型 var name="18" parseInt()
3.布尔类型 Boolean
数据类型 转换为true的值 转换为false的值
Boolean true false
Number 任何非零数字值 (包括无穷大) 0和NaN
Object 任何对象 null
Undefined n/a① undefined
true false
1 0
真 假
对 错
4.对象 Object
对象其实就是一些数据的集合,这些数据可以是字符串型、数字型和布尔型,也可以是复合型
创建对象的几种方式:创建对象的几种方式
1. obj = new Object();
2. var obj={
name:'张三',
sex:'nan',
eat:function(){
console.log(this.name+'你好');
}
}
3. function MyObject(){
this.name = 'zhangsan';
this.sex = 'nan';
this.eat=function(){
console.log(this.name+'你好');
}
}
var obj = new MyObject();
obj.name;
obj.eat();
5.空 null
null是一个特殊的数据类型,其所代表的意思是“空”。需要注意,这个空并不代表是0或空字符串。
null代表没有值,不是一个有效的数字、字符串、也不是数组、对象和函数,什么数据类型都不是
6.未定义 undefined
undefined也是一个特殊的数据类型,只有定义了一个变量但没有为该变量赋值, 使用了一个并未定义的变量、或者是使用了一个不存在的对象的属性时, JavaScript会返回undefined。
7.数组 Array
1. 数组的下标是从0开始计算的
2. 创建一个长度位10的空数组 var c=new Array(10);
3. length 获取数组的长度 统计长度是从1开始的
4. 构成的二维数组 var a=[11,22,['哈哈','嘿嘿',['abc','123']]]
5. 取值 a[2][1]='啦啦啦' 数组里面取值要指定下标 a[1]
6. 遍历数组 for循环 for(var i=0; i< arr.legnth; i++){}
for in for(var i in arr){}
forEach() arr.forEach(function(item , index ){})
for of for(var item of arr){ 之间遍历的是元素}
8.函数 function
1. 定义: function 函数名(形参){ 函数值 }
函数名(实参)
2. 参数: 形参---在定义函数时函数名后的小括号里的参数
实参---在调用函数时函数名后的小括号里的参数
3. *作用: 代码可以多次重复执行.实现代码的重用性.重复调用
函数调用需注意这个函数有几个必选参数,就要提供几个实参传进去
可选参数.定义函数时形参给默认的值了.那这个参数就是可选参数.
可选参数常放在参数的最后面
4. 返回值:
a- 函数中有返回值: 有return
b- 函数中没有返回值: 没有 return
c- 没有明确的返回: 有return undefined ,没有有return
返回值最终返回的位置是函数的调用处
5. arguments 获取函数中实参的个数
arguments.length 获取实参个数
arguments[下标] 实参的值
6.命名函数:有函数名 function sum(){document.write('我是命名函数');}
sum();
匿名函数:没有函数名 var niming = function(){document.write('我就是匿名');};
niming();
自调用函数:没有函数名的函数.外部加了个小括号.后面在加个小括号结束; (函数)()
(function (){document.write("我是命名函数");})();
回调函数: 一个函数作为另一个函数的参数
function f2(aa,value){
document.write(aa+value);
}
function f3(){
document.write('高清昕');
}
f2(f3(),"最帅");
递归函数:自己调用自己
function f1(a){
document.write(a+"<br/>");
if(a>0){
f1(a-1);
}
document.write(a+"<br/>");
}
f1(3);
7. 作用域: 局部变量:在函数内部使用var关键字定义的变量时局部变量,只能在这个函数内部使用
全局变量:不加var时全局变量
8. 函数的自执行: (function 函数名(){})(实参.....)
9. 预解析 变量:提升声明,不提升赋值
函数:声明函数提前到调用之前
分段:在script标签中存在多个函数名相同的函数,会进行分段解析