看代码,废话不多说!
java 和 javascript split 的区别!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
function trim(str){
return str.replace(/(^\s+)|(\s+$)/g,"");
}
/*
创建命名空间方法
str format: ns1.ns2.ns3.......
str type : string
*/
function createNameSpace(str){
/*******输入校验*******/
//如果输入的不是字符串,终止操作
if(typeof str != "string"){
return ;
}
str = trim(str);
/*
如果是空串,终止
或者 替换所有的空格 str = str.replace(/\s+/g,"");
但是如果开始就是 str = ''空串 ,后面还是要进行判断
*/
if(!str){
return ;
}
/*******创建命名空间核心代码*******/
var _window = window;
var aNS = str.split('.');
console.log(aNS);
console.log(_window);
if(aNS){
for(var i = 0 ,len = aNS.length; i < len ; i++){
//将命名空间注册或者添加到window对象上
_window = _window[aNS[i]] = {};
}
} else {
console.log("false");
}
/*
返回的是最后一个命名空间的对象;不需要return 也行,根据自己的喜好。
因为命名命名空间已经注册或者添加到window对象上了!
*/
return _window;
}
var str = "a.b.c.d.e";
//str = " ";
var ns_e = createNameSpace(str);//返回的是 e 命名空间对象
console.log(ns_e);
console.log(window.a);
</script>
</head>
<body>
</body>
</html>
java 和 javascript split 的区别!
java 用 str.split("\\.");
javascript 直接用 str.split(".");
public static void main(String[] args) {
String str = "a.b.c.d.e";
//str = "";
String[] aNS = str.split("\\.");
//String[] aNS = str.split(".");
if (aNS.length == 1) {
System.out.println(true);
}
System.out.println(Arrays.toString(aNS));
}
String[] aNS = str.split("."); 输出: []
String[] aNS = str.split("\\."); 输出: [a, b, c, d, e]
var str = "a.b.c.d.e";
//str = " ";
str = str.split('.');
console.log(str);
str.split('.'); 输出:["a", "b", "c", "d", "e"]
str.split('\.'); 输出:["a", "b", "c", "d", "e"]
str.split('\\.'); 输出:["a.b.c.d.e"]