Java Web 开发中一些实用的技术点
2023-06-13 09:11:39 时间
1. Java Integer 的缓存:-128
to 127
1Integer.valueOf(10) == Integer.valueOf(10); // true
2Integer.valueOf(128) == Integer.valueOf(128); // false
2. Java 中的小数运算,2-1.1=?
我们知道,
2-1.1=0.9
,但是在 java 中如果直接这样运算,会得到一个意外的结果。一般可以用java.math.BigDecimal
来解决这类问题,但如果不想写太多代码,还有一种比较简单方便的解决方式,直接在小数后面添加一个f
:
1System.out.println(2-1.1); // 0.8999999999999999
2System.out.println(2-1.1f); // 0.9
3. JS 中,删除一个数组,应该使用 arr.length = 0
,而不是 delete a
1var arr = [1,2,3,4];
2console.log(arr);
3arr.length = 0;
4console.log(arr);
4. JS 关闭当前页面
1function close() {
2 window.opener=null;
3 window.open('','_self');
4 window.close();
5}
5. JS 中,将数字字符串转换成数字,使用 parseInt
时注意不要忘了传第二个参数,否则可能会出现一些问题
1parseInt("42") //=> 42
2parseInt("042") //=> 34 (Firefox) || 42 (Chrome)
3parseInt("09") //=> NaN (Firefox) || 9 (Chrome)
4parseInt("the 42") //=> NaN
5parseInt("42px") //=> 42 <- Advantage of using parseInt
6parseInt("09", 10) //=> 返回十进制的 9
当第二个参数的值为 0,或没有设置该参数时,
parseInt()
会根据 string 来判断数字的基数。 举例,如果 string 以 "0x" 开头,parseInt()
会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么ECMAScript v3
允许parseInt()
的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt()
将把它解析为十进制的整数。
6. opacity < 1
的元素会显示在最上层,所以有的时候使用 opacity: .99;
可以方便的解决很多问题
1.top {
2 opacity: .99;
3}
7. CSS 中,position:absolute, relative;
元素会晚于正常文档流元素的渲染,所以显示的层级会比较高
1a:hover {
2 position: relative;
3}
8. JS 中,为 String 对象添加实用属性方法
1// 判断字符串是否为空
2String.prototype.isEmpty = function() { return /^\s*$/.test(this); }
3
4// 删除字符串两边的空格
5String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g,""); }
6
7// 删除字符串左边的空格
8String.prototype.ltrim = function() { return this.replace(/(^\s*)/g,""); }
9
10// 删除字符串右边的空格
11String.prototype.rtrim = function() { return this.replace(/(\s*$)/g,""); }
9. JS 获取 URL 参数值
10. JS 中使用倒序 for 循环实现高效遍历
1var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
2// 高效倒序遍历,若要正序可先用 reverse 方法对数组进行反转再遍历
3for (var i = arr.length; i--; ) {
4 // 依次打印 9 8 7 6 5 4 3 2 1 0
5 console.log(arr[i])
6}
11. JS 中使用 charCodeAt
和 fromCharCode
实现字符串的简单加解密
1// 编码
2var enUnicode = function(s) {
3 for (var arr = [], i = s.length; i--; ) {
4 arr.push(s.charCodeAt(i));
5 }
6 // 可将 D 改为其他字符
7 return arr.join('D');
8}
9
10// 解码
11var deUnicode = function(s) {
12 for (var arr = [], code = s.split('D'), i = code.length; i--; ) {
13 arr.push(String.fromCharCode(code[i]));
14 }
15 return arr.join('');
16}
17
18// 使用示例
19enUnicode('123123');
20// > "51D50D49D51D50D49"
21
22deUnicode("51D50D49D51D50D49");
23// > "123123"
12. 自定义 WebKit 内核浏览器滚动条样式
持续更新中...
内容声明 | |
---|---|
标题: Java Web 开发中一些实用的技术点 | |
链接: https://zixizixi.cn/articles/2017/01/04/1483519918704.html | 来源: iTanken |
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可,转载请保留此声明。 |
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=wh4u6zpyhe1d
相关文章
- JAVA多线程面试题_java多线程的实现方式
- java转换字符串为时间_JAVA字符串转日期或日期转字符串
- java 四舍五入运算_JAVA正确的四舍五入方法「建议收藏」
- java分层打印二叉树_基于Java的二叉树层序遍历打印实现
- JAVA面试必备知识(基础篇)
- 深入理解 Java 对象的内存布局
- java分前端后端吗_Java Web属于前端还是后端
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java官方编译器_JAVA 编译器
- java jersey使用总结_jersey Java Jersey配置「建议收藏」
- Java Web(九)会话跟踪技术
- JAVA为啥要用stream流处理_java哪个部分最难学
- Java学习笔记之四java进制转化详解编程语言
- 技术的融合突破极限:Java与Redis的技术融合(java与redis)
- 持久化Java持久化技术与Redis高级应用(redis高级之java)
- 深入浅出Java配置MySQL数据库(java配置mysql)
- 时间设置使用Java设置Redis数据过期时间(redisjava过期)
- 回收Redis中Java超时回收技术实现(redisjava过期)
- 连接MySQL连接技术之Java实现(java的mysql)
- 国内首本系统讲解Java异步编程的书籍-java异步编程实战
- Java与MySQL数据库连接的池化技术(javamysql池)
- 期Java开发高效配置MySQL长期支撑(mysql java 长)
- 基于C语言技术的Web应用程序开发与MySQL集成(c web mysql)
- Java编程与Oracle技术创造技术价值的奥秘(java编程oracle)
- Java技术将数据写入Oracle数据库(java写入oracle)
- 基于Web与Redis的安全认证技术(web redis 认证)
- Oracle Web官网让你轻松获取最新技术资讯(oracle web官网)
- Java消息处理实践突破性技术Redis(redis消息 java)
- 解析JAVA深度克隆与浅度克隆的区别详解
- 基于Java实现的图的广度优先遍历算法