js中何如比较一个变量是否与一个字符串相等

JavaScript05

js中何如比较一个变量是否与一个字符串相等,第1张

在javascript判断两个变量值是否相等,可以使用 ==(等同)操作符 或者 ===(恒等)操作符。

== 操作符

“等同”操作符,简单判断2个变量值是否相等,变量类型不一致时,会做类型转换,即忽略变量的类型进行比较

例子1

var str1 = "123456" // 字符串

var str2 = "123456" // 字符串

alert(str1==str2) // 打印出 true,即相等

扩展资料

js中==和===区别:

简单来说: == 代表相同, ===代表严格相同,当进行双等号比较时候: 先检查两个操作数数据类型,如果相同, 则进行===比较, 如果不同, 则愿意为你进行一次类型转换, 转换成相同类型后再进行比较, 而===比较时, 如果类型不同,直接就是false。

双等号==:

(1)如果两个值类型相同,再进行三个等号(===)的比较;

(2)如果两个值类型不同,也有可能相等,需根据以下规则进行类型转换在比较:

1)如果一个是null,一个是undefined,那么相等;

2)如果一个是字符串,一个是数值,把字符串转换成数值之后再进行比较。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

public class ExecJs {

/**

* 记录日志类

*/

private Logger log = Logger.getLogger(ExecJs.class)

/**

* 后置处理,执行js脚本

* @param js

* @throws Exception

*/

public void execJs(String js, Map<String,Object>map) throws Exception {

if (log.isDebugEnabled()) {

log.debug("execJs js : " + js)

Iterator<Entry<String, Object>>it = map.entrySet().iterator()

while (it.hasNext()) {

Entry<String, Object>entry = (Entry<String, Object>) it.next()

log.info("EXECJS MAP : " + entry.getKey() + "---" + entry.getValue())

}// end while

}// end if

if ("".equals(js) || js == null) {

log.info("EXECJS ERROR : JAVASCRIPT CONTENT IS NULL")

} else if(map == null || map.size()<=0){

log.info("EXECJS ERROR : MAP CONTENT IS NULL")

} else {

// 获取脚本引擎

ScriptEngineManager mgr = new ScriptEngineManager()

ScriptEngine engine = mgr.getEngineByName("javascript")

// 绑定数据

ScriptContext newContext = new SimpleScriptContext()

Bindings bind = newContext.getBindings(ScriptContext.ENGINE_SCOPE)

bind.putAll(map)

try {

engine.setBindings(bind, ScriptContext.ENGINE_SCOPE)

engine.eval(js)

} catch (Exception e) {

log.info("EXECJS EXCEPTION : EXECUTE JAVASCRIPT EXCEPTION", e)

throw (e)

}// end try

}// end if

}

}

<script language="javascript">

function test(){

var state = "" //首先得到state的值

if(state=="续满"){

alert("续满了")

}else{

alert("没有续满")

}

}

</script>

在相应位置调用test()这个函数

在JavaScript中判断是否相等,全部用==,因为它是弱语言,所有类型的变量都是var