- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在从事 AngularJS 项目。我注意到以下表达式返回一个数字。
在 View 中,{{undefined + 10}}
将输出 10。
在 JavaScript 中,undefined + 10
将输出 NaN。
为什么这种行为在 View 中有所不同?
最佳答案
这就是插值的优势。
AngularJS 使用带有嵌入式表达式的插值 标记为文本节点和属性值提供数据绑定(bind)。
如果内插值不是字符串,则计算如下:
$interpolate
会在该对象上查找自定义的 toString()
函数,并使用该函数.JSON.stringify
。在运行时,编译器使用 $interpolate
服务来查看文本节点和元素属性是否包含带有嵌入表达式的插值标记。
此外,angular 编译器使用 interpolateDirective
并注册观察者以监听模型变化。这就是摘要循环的过程。
阅读更多 here了解插值的工作原理。
Why
{{'' == +Infinity}}
returns true ?
在 AngularJS 中,$interpolate
服务将 +Infinity
计算为 0
值。
angular.module('app', [])
.controller('Controller', ['$injector', function($injector) {
}]);
setTimeout(function() {
angular.bootstrap(document.getElementById('body'), ['app']);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<div id="body">
<div ng-controller="Controller">
{{+Infinity}}
</div>
</div>
现在表达式仍然是 {{0==''}}
。
为什么 0==''
被评估为 true
?
左边的类型是Number
。右侧是 String
类型。
在这种情况下,右操作数被强制转换为 Number 类型:
0 == Number('') => 0 == 0,
评估为 true
bool 值。
此处应用The Abstract Equality Comparison Algorithm .
If Type(x) is Number and Type(y) is String, return the result of the comparison x == ToNumber(y).
关于javascript - 为什么 {{undefined + number}} 返回数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46075072/
我只是有一个更琐碎的问题。 为什么undefined == undefined 返回true,而undefined >= undefined 为false? undefined 等于 undefine
用PHP 7.2编写套接字服务器。根据Firefox 60中的“网络”选项卡,服务器的一些HTTP响应的第一行随机变为undefined undefined undefined。因此,我尝试记录套接字
在 JavaScript 中这是真的: undefined == undefined 但这是错误的: undefined <= undefined 起初我以为<=运算符包含第一个,但我猜它试图将其转换
在回答这个问题 (Difference between [Object, Object] and Array(2)) 时,我在 JavaScript 数组中遇到了一些我以前不知道的东西(具有讽刺意味的
来自https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/of , Note: thi
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
当我添加 到我的 PrimeFaces Mobile 页面,然后我在服务器日志中收到以下警告 WARNING: JSF1064: Unable to find or serve resource, u
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我是一名优秀的程序员,十分优秀!