AngularJS非字符插值计算规则

在AngularJS里,插值会把嵌入的表达式转换为字符串,对于非字符串转换规则如下:

1、undefined和null转换为空字符串''。

2、如果值是一个Object对象,但不是Number,Date和Array类型,$interpolate变量会先查找用户自定义的toString()函数,如果找到了,使用toString()函数来转换为字符串。注意,这里的用户自定义意味myObject.toString !== Object.prototype.toString。

3、如果也找不到用户自定义的toString()函数,那么使用JSON.stringify()来把对象转换为字符串。

版权声明:著作权归作者所有。

相关推荐

JavaScript计算点到线的最短距离

点到线的最短距离实际上就是点到线的垂直距离。点坐标为(x,y),取线上的两点(x1,y1)和(x2,y2)来计算它们的距离。/** * 点到线的最短距离实际上就是点到线的垂直距离。 * (x,y)为点的坐标 * (x1,y1)为线段上点的坐标 * (x2,y2)为线段另外一点的坐标 */ function distanceOfPoint2Line(x, y, x1, y1,

C#计算用户年龄

此方法仅用于简单计算年龄,不适用于计算虚岁public static int GetAge(DateTime birthDate) {     DateTime now = DateTime.Now;      int age&n

MySQL类型隐式转换规则

在MySQL语句里,如果操作符应用于不同的类型的操作数,为了兼容让操作数兼容,MySQL会对操作数做类型转换,有些是自动的隐式转换。“+”号操作符使用“+”号相加的是字符串或字符串和数字,字符串会隐式转换为数字。以数字开头的字符串以数字开头的字符串,它会截取前面的数字字符串,转换为对应的数字。mysql> select '1a' + 1; +-----

Java检查非null值有必要同时使用@NonNull和Objects.requireNonNull()吗

Java的@NonNull和Objects.requireNonNull()常常会被用来限制值为非null值,它们有什么不同呢?@NonNull在引入@NonNull之前,我们要求使用非null值时,往往需要在javadoc里做说明。编译器是没有办法对javadoc进行干预。使用注解类型@NonNull后,编译器就可以在编译时对代码做检查。这也有利于一些ide根据注解类型,对null值的代码给出提