JavaScript笔记

这篇博客详细介绍了JavaScript中的数据类型,包括undefined、null及数据类型转换,深入探讨了函数的实参形参匹配、返回值、arguments对象及声明方式。此外,还讲解了作用域链、预解析的概念,以及如何创建和操作对象,包括内置对象Date和Array的各种方法。最后,文章讨论了JavaScript中的简单和复杂类型以及堆栈的概念。
摘要由CSDN通过智能技术生成

目录

JavaScript

一、数据类型

1.undefined数据类型

2.null数据类型

3.数据类型转换

3.1转换为字符串

3.2转换为数字型

二、函数

1.函数实参形参不匹配

2.返回值

3.arguments

4.声明方式

三、作用域链

四、预解析

 变量提升案例

五、对象

1. 创建对象三种方式

1.1 利用字面量创建对象

1.2 利用new Obj创建对象

1.3 利用构造函数创建对象

2.new关键字

3.遍历对象

六、内置对象

1. Date()

1.1时间戳

1.2倒计时

2. Array()

2.1 两种创建数组方式

 2.2 检测是否为数组

2.3 添加删除

2.4 数组排序

 2.5 数组转字符串 

3. 字符串 

 3.1 基本包装类型

 3.2 字符串的不可变

 3.3 根据位置返回字符

 统计出现最多次数的字符

3.4 字符串操作方法

七、简单/复杂类型 

堆和栈


JavaScript

解释性语言,在运行是进行及时解释。与Java(编译性语言)不同

一、数据类型

1.undefined数据类型

undefined + 字符串=undefined+‘字符串’

undefined+数字=NaN;

var str;
console.log(str);
var variable=undefined;
console.log(variable+"test");	//undefinedtest
console.log(variable+1);	//NaN

2.null数据类型

null + 字符串=null+‘字符串’

null+ 数字 = 数字

3.数据类型转换

3.1转换为字符串

3.2转换为数字型

二、函数

1.函数实参形参不匹配

function getSum(num1,num2){
	console.log(num1+num2);
}

 1. 如果实参个数等于形参个数一致,正常输出结果

 2. 如果实参个数大于形参个数,则去形参个数

getSum(1,2,4);    //结果为3

 3. 如果实参个数小于形参个数,多于的形参定义为undefined,结果是NaN

注:形参可以看做不用声明的变量,num2是一个变量但没有接收值,结果就是undefined·

getSum(1);    //结果是NaN

2.返回值

函数如果有return,返回return后的值,如果没有返回undefined

3.arguments

当我们不确定有多少个参数传递时,可以用arguments来获取。在JavaScrit中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的实参

function fn(){
	console.log(arguments);//里面存储了所有传递的实参
}
fn(1,2,3);

arguments展示形式是一个伪数组,因此可以进行遍历。

伪数组具有以下特点:

  1. 具有length属性。
  2. 按索引方式存储数据
  3. 不具有数组的push,pop等方法。
function fn(){
	console.log(arguments);//里面存储了所有传递的实参
	console.log(arguments.length);//具有length属性。
	console.log(arguments[2]);//按索引方式存储数据
}

arguments例子

//arguments利用
function getMax() {
	var max = arguments[0];
	for (var i = 1; i < arguments.length; i++) {
		if (arguments[i] > max) {
			max = arguments[i];
		}
	}
	return max;
}
console.log(getMax(1, 2, 3));    //3
console.log(getMax(1, 2, 3, 4, 5));    //5
console.log(getMax(11, 422, 6343, 34673));    //34673

4.声明方式

  1. 利用函数关键字自定义函数(命名函数)

function fn() {

}
fn();

  2.函数表达式(匿名函数)

var fun = function(){
	console.log('我是匿名函数');
}
fun();
  1. fun是变量名,不是函数名。
  2. 函数表达式声明方式跟声明变量差不多,只不过变量例存的是值 而 函数表达式存的是函数。
  3. 函数表达式也可以传递参数。

三、作用域链

  • 只要是代码,就至少有一个作用域
  • 卸载函数内部的局部作用域
  • 如果函数中还有函数,那么这个作用域中就可以有诞生一个作用域
  • 根据内部函数可以访问外部函数变量的机制,用链式查找决定哪些数据能被内部函
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值