Java Script 笔记第三天
1、arguments 的使用
function fn(){
console.log(arguments);//里面存储了所有传递过来的实参
}
fn(1,2,3);
//伪数组并不是真正意义上的数组
//1、具有数组length属性
//2、按照索引的方式进行存储的
//3、他没有真正数组的一些方法 pop() push()等等
//我们可以按照数组的方式遍历arguments
function fn(){
for(var i=0;i<=arguments.length;i++){
console.log(arguments[i]);
}
}
案例:
(1)利用函数反转数组
function reverse(arr){
var newArr=[];
for (var i = arr.length -1;i>=0;i--){
newArr[newArr.length] =arr[i];
}
var arr1=reverse([1,3,4,9]);
console.log(arr1);
}
(2)利用函数封装进行冒泡排序
function sort(arr){
for(var i=0;i<arr.length-1;i++){
for(var j=0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
var arr1=sort([1,2,4,8]);
console.log(arr1);
var arr2=sort([11,7,22,999]);
console.log(arr2);
2、作用域
(1)、全局作用域
通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。
(2)、局部作用域
作用于函数内的代码环境,就是局部作用域。 因为跟函数有关系,所以也称为函数作用域。
处于局部作用域内的变量称为局部变量
如果函数内部,变量没有声明,直接赋值,也当全局变量看,但是强烈不推荐
但是有一种情况,函数内部的形参可以看做是局部变量。
3、匿名函数
函数可以分为具名函数和匿名函数
匿名函数:没有名字的函数,无法直接使用。
4、 对象
JS 中的对象分为三类:
内置对象(静态对象):js本身已经写好的对象,我们可以直接使用不需要定义它。
常见的内置对象有 Global、Math(它们也是本地对象,根据定义每个内置对象都是本地对象)。
本地对象(非静态对象):必须实例化才能使用其方法和属性的就是本地对象。
常见的本地对象有 Object、Function、Data、Array、String、Boolean、Number、RegExp、Error等
宿主对象:js运行和存活的地方,它的生活环境就是DOM(文档对象模式)和BOM(浏览器对象模式)。
5、简单数据类型和复杂数据类型
简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型。
基本数据类型
1、数值类型(number)
一切数字都是数值类型(包括二进制,十进制,十六进制等)
NaN(not a number),一个非数字
2、字符串类型(string)
被引号包裹的所有内容(可以是单引号也可以是双引号)
3、布尔类型(boolean)
只有两个(true 或者 false)
4、null类型(null)
只有一个,就是 null,表示空的意思
5、undefined类型(undefined)
只有一个,就是 undefined,表示没有值的意思
复杂数据类型
对象类型(object)
函数类型(function)
6、 数据类型转换
数据类型之间的转换,比如数字转成字符串,字符串转成布尔,布尔转成数字等
其他数据类型转成数值
1、Number(变量)
可以把一个变量强制转换成数值类型
可以转换小数,会保留小数
可以转换布尔值
遇到不可转换的都会返回 NaN
2、parseInt(变量)
从第一位开始检查,是数字就转换,知道一个不是数字的内容
开头就不是数字,那么直接返回 NaN
不认识小数点,只能保留整数
3、parseFloat(变量)
从第一位开始检查,是数字就转换,知道一个不是数字的内容
开头就不是数字,那么直接返回 NaN
认识一次小数点
4、除了加法以外的数学运算
运算符两边都是可运算数字才行
如果运算符任何一遍不是一个可运算数字,那么就会返回 NaN
加法不可以用
7、其他数据类型转成字符串
1、变量.toString()
有一些数据类型不能使用 toString() 方法,比如 undefined 和 null
2、String(变量)
所有数据类型都可以
3、使用加法运算
在 JS 里面,+ 由两个含义
字符串拼接: 只要 + 任意一边是字符串,就会进行字符串拼接
加法运算:只有 + 两边都是数字的时候,才会进行数学运算
8、其他数据类型转成布尔
Boolean(变量)
在 js 中,只有 ‘’、0、null、undefined、NaN,这些是 false,其余都是 true.
9、数据类型
Number(数值),String(字符串),Boolean(布尔),Undefined,Null,Object。
字符串
1>这里必须使用单引号或者双引号来定义的才是字符串。
例如:var str = ‘老师’;
2>.如果在字符串中要使用引号,或者在浏览器中显示引号,请加 转义字符" \ ",同理其他符号也是一样的。
例如:var str = ‘老师,你是’粉红色’的啊。’
3>.在这字符串的+号要注意一下,尤其是遇到一个字符串后,此后的所有加号都是字符串拼接。
Boolean类型
两个值,true和false,在计算机内部存储中,true为1,false为0。
Undefined和Null
undefined表示一个声明一个没有赋值的变量,变量只声明的时候值默认是undefined。
null表示一个空,变量的值如果想为null,必须手动设置。