解决在javascrpit中EL表达式问题

JavaScript中EL表达式的使用及Tomcat版本兼容性问题
本文探讨了JavaScript中EL表达式的使用,并指出了在不同版本的Tomcat中遇到的兼容性问题。具体分析了在Tomcat5.5中可以正常使用的EL表达式,在升级到Tomcat6.x后遇到的问题,以及如何解决此类问题,提供了避免直接取值导致的解析错误的方法。

 

javascrpit中使用过EL,下面代码在tomcat 5.5中可以使用的。

var loadtabs = new Array("<c:out value="${fiType!=null?fiType:1}"/>");

到了tomcat6.x就不行了,因为el.jar高版本的对拼写检查非常的严格。

 

javascrpit中

var loadtabs = new Array("${ fiType!=null?fiType:1}");也是不能使用的。

要写成这样。如果不使用空格隔开,他会把当成直接取值。而不会当作成一个表达式来解析。

var loadtabs = new Array("${ fiType != null ? fiType:1}");

### JavaScript 基本数据类型的内存存储机制 JavaScript 的基本数据类型(也称为原始数据类型)包括 `String`、`Boolean`、`Number`、`undefined`、`null` 和 `Symbol`。这些数据类型在内存中的存储方式遵循特定的规则。 #### 栈内存的作用 基本数据类型的数据直接存储在栈内存中[^4]。栈是一种高效的内存结构,用于存储占用空间较小且大小固定的值。由于基本数据类型的数据量通常较少,因此它们适合存储在栈中。 #### 数据传递的方式 当基本数据类型作为函数参数传递时,实际上传递的是该值的一个副本而非其引用[^1]。这意味着,在函数内部对该值所做的任何修改都不会影响原变量的值。 以下是具体实现的例子: ```javascript function modifyValue(value) { value = "new string"; } let originalString = "old string"; modifyValue(originalString); console.log(originalString); // 输出: old string ``` 在这个例子中,尽管我们在函数内部改变了 `value` 的值,但它并不会影响外部定义的 `originalString` 变量,因为传入的是它的拷贝而不是引用。 #### 特殊情况:`null` 虽然 `null` 被认为是一个基本数据类型,但在某些情况下它表现得像一个对象。然而,就内存分配而言,`null` 同样是以值的形式存储于栈中[^2]。 --- ### 总结 - **存储位置**:基本数据类型直接保存在栈内存中。 - **复制行为**:当通过参数或其他形式传输时,会创建一个新的独立副本。 - **特殊情况处理**:即使对于一些看似复杂的场景(如涉及 `null`),仍然保持简单的值语义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值