一句话常识

1. v-model 只能应用在有value属性的标签内

2. 声明函数的方法:

## 1.语句定义法:

格式:function 函数名(){

 函数块;

}

调用:函数名()

## 2.表达式定义法:

一说表达式,肯定是和赋值有关,我们可以大胆的猜想一下,表达式定义法是不是就是我们将一个函数赋值给了一个变量呢?

看一下它的格式:

var 变量名 = function[函数名](){

函数块;

}

调用:变量名()

注意:var后面的是它声明的这个变量的变量名,不是函数名,函数名还是在function后面,之所以将函数名写在[]中,是因为在表达式定义法中,函数名是可以省略的,通常情况下,函数名我们也都是省略不写的。

3、语句定义法和表达式定义法的区别:

语句定义法会提升函数,会在执行代码前读取函数声明,通俗讲就是我们可以在任何位置调用这个函数;

//person() 函数前调用     //张三
function person(){
var name = "张三";
alert(name);
}
person() //函数后调用    //张三

表达式定义法不会提升函数,必须先声明函数,再调用;

//person(); 报错:控制台输出person is not a function
var person = function(){
var name = "张三";
alert(name);
}
person(); //张三

函数声明运行规则:

函数声明只能出现在程序或函数体内。从句法上讲,它们 不能出现在Block(块)({ … })中,例如不能出现在 if、while 或 for 语句中。因为 Block(块) 中只能包含Statement语句, 而不能包含函数声明这样的源元素。另一方面,仔细看一看规则也会发现,唯一可能让表达式出现在Block(块)中情形,就是让它作为表达式语句的一部分。但是,规范明确规定了表达式语句不能以关键字function开头。而这实际上就是说,函数表达式同样也不能出现在Statement语句或Block(块)中(因为Block(块)就是由Statement语句构成的)。

函数声明还有另外一个重要的特点,即通过条件语句控制函数声明的行为并未标准化,因此不同环境下可能会得到不同的结果。即是:

// 千万不要这样做!
// 不同浏览器会有不同返回结果,
 
if (true) {
function foo() {
return 'first';
}
}
else {
function foo() {
return 'second';
}
}
foo();
 

可以改为:

var foo;
if (true) {
foo = function() {
return 'first';
};
}
else {
foo = function() {
return 'second';
};
}
foo();

但是!!
由于存在上述限制,只要函数出现在块中(像上面例子中那样),实际上就应该将其看作一个语法错误,而不是什么函数声明或表达式。

下面是函数声明允许的用法:

// 全局环境
function foo() {}
 
function local() {
// 局部环境
    function bar() {}
        return bar;
}

当你在语法上不能使用函数声明的时候,你就可以使用函数表达式。比如:传递一个函数作为参数或者在对象字面量中定义一个函数:

// 这是一个匿名函数表达式
callMe(function () {
 
//传递一个函数作为参数
});
 
// 这是一个具名函数表达式
callMe(function me() {
 
// 



,函数名为me
});
 
// 其他函数表达式
var myobject = {
    say: function () {
 
// I am a function expression
}
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值