{{ name }} 会显示变量 name 的值。在AngularJS中,表达式(Expressions)是一种特殊的代码片段,用于数据绑定和响应用户交互,这些表达式通常被放置在双大括号 {{ }} 中,并具有访问$scope对象的权限,支持多种运算操作,我们将深入探讨AngularJS表达式的各个方面,并通过示例来加深理解。

### 表达式基础
在AngularJS中,表达式主要用于数据绑定,它们写在双大括号中,`{{ expression }}`,这种表达式会被AngularJS的$parse服务处理,并在其所属的作用域内部执行。
### 支持的操作和特性
1. **算术运算**:包括加法、减法、乘法和除法。
2. **比较运算**:如等于、不等于、大于、小于等。

3. **逻辑运算**:包括AND、OR和NOT。
4. **条件运算**:使用三元运算符进行简单的条件判断。
5. **函数调用**:可以调用作用域内的函数。
6. **字段导航**:可以通过'.'操作符访问对象的属性。
7. **方法调用**:可以调用对象的方法。

### 与JavaScript的区别
虽然AngularJS表达式看起来类似于JavaScript代码,但它们由AngularJS处理,有一些显著的特性区别:
所有表达式都在其所属的作用域内部执行,并有访问本地$scope的权限。
如果表达式发生TypeError和ReferenceError并不会抛出异常。
### 简单示例
假设我们有一个$scope对象包含一个user对象,user对象有两个属性:firstName和lastName,我们可以在视图中显示用户的全名,如下所示:
```javascript
// 在控制器中定义
$scope.user = {
firstName: 'John',
lastName: 'Doe'
};
// 在HTML中显示
Welcome, {{ user.firstName }} {{ user.lastName }}!
```
这将在页面上渲染为 "Welcome, John Doe!"。
### 相关问题与解答
**Q1: 是否可以在AngularJS表达式中使用JavaScript关键字?
A1: 是的,你可以在AngularJS表达式中使用大多数JavaScript关键字,但由于表达式是由AngularJS解析的,因此有些关键字可能有不同的行为或被限制。
**Q2: 如何在AngularJS表达式中调用控制器中的函数?
A2: 你可以通过在表达式中直接使用函数名来调用控制器中定义的函数,如果函数需要参数,可以在函数名后的括号中传递,如果你的控制器中有一个名为`calculate()`的函数,你可以在视图中这样调用它:`{{ calculate() }}`。
通过上述介绍和示例,我们了解了AngularJS表达式的基本概念、支持的操作、与JavaScript的区别以及如何在实际项目中使用它们,希望这些信息能帮助你更好地理解和运用AngularJS表达式。