JavaScript02(函数定义,参数获取,变量的作用域,方法)

1.函数

1.1 绝对值函数(举例)

定义方法一:

function abs(x){
if(x>=0)
return x;
else
return -x;
}

一旦执行到return代表函数的结束,返回结果!

如果没有执行return,函数也会返回一个结果,就是undefined

定义方法二:

var abs=function(x){
if(x>=0)
return x;
else
return -x;
}

1.2 参数arguments、rest

  • arguments:JS免费赠送的参数,是一个数组,返回全部参数
function abs(x){
	for(var i=0;i<arguments.length;i++)
		console.log(arguments[i]);
			if(x>=0)
				return x;
			else
				return -x;
		}

  

  • rest:获取除了已定义的参数之外的全部参数   (...rest)
function abs(a,b,...rest){
				console.log(rest);
			}

2.变量的作用域

在JavaScript中,变量也分为局部变量和全局变量。如果一个方法A里面嵌套了另一个方法B,那么方法B中可以引用方法A的变量,但是方法A不能引用方法B的变量(跟java中的内部类差不多)。

  • 问题一:如果两个函数使用用了相同的变量名,也不会冲突
    function abs(){
    var x=1;
    x=x+1;
    console.log(x);//输出2
    }
    function ab(){
    var x='sun’;
    x=x+1;
    console.log(x);//输出sun1
    }

    ps:在控制台需要输入方法才会显示结果(example:abs())

  • 问题二:如果外部函数与内部函数变量重名,内部函数先在本身作用域中寻找变量,若没有就使用同名的外部变量

 

2.1  全局对象 window

  • 所有浏览器都支持 window 对象。它代表浏览器的窗口。
  • 所有全局 JavaScript 对象,函数和变量自动成为 window 对象的成员。
  • 全局变量是 window 对象的属性。
  • 全局函数是 window 对象的方法。

弹出了两个框

2.2   由于我们所有的全局变量全都绑定在了window上,如果是团队开发,是很不利于的,有了变量冲突。

那么如何减少这样的冲突呢?

我们可以把自己的代码全部放入自己定义的唯一空间名字中,较少全局命名的冲突。

 

2.3  之前也提到过let关键字。它能够解决局部作用域冲突的问题

假如在一个for循环中,用var关键字来定义i,那么出了此循环,i还能够起作用,这就很不严谨,但是用let关键字定义i就不会出现此问题了。

2.4 const常量关键字

用const来定义一个常量,之后这个常量就不允许修改了。

3.方法

两种调用方式,如图:

 在方法二中也可以改成 return now-tu.year; 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值