有趣的JavaScript(1)

简介: 有趣的JavaScript(1)

1.取整操作的新方法


1. let  a = 3.1415926 | 0
2. console.log(a)  // 输出  3

总结:0可以将指定数值转为32位有符号整数,也就是取整,正负数都可以,超过32位数部分会被忽略

2.箭头函数的返回值问题


箭头函数如果要返回对象,需要按({})的格式

如果只返回一个值,则不需要任何括号

如果用{}则不会返回任何值

const a = obj1 => {name:'小白'}        // 输出: undefined
const b = obj2 => console.log(123)    // 输出: 123
const c = obj3 => ({name:'小白'})     // 输出: {name:'小白'}
console.log(a())
b()
console.log(c())

总结:箭头函数如果返回对象,要加()包裹,因为和函数体的{ … }有语法冲突。箭头函数后面没有加大括号并且只有一行代码返回,是会默认return的;

而箭头函数后面加了大括号,则不会默认return

3.JSON.stringfy()的特别用法


3.1 判断数组 / 对象是否相等

 let a = [1, 2, 3,4,5,6]
 let b = [1, 2, 3,4,7,8]
console.log(JSON.stringfy(a) === JSON.stringfy(b)) // 返回false

3.2判断数组是否包含某对象

let A = [
      {name: 'aaa'},
      {name: 'bbb'}
        ]
let B = {name: 'bbb'}
     console.log(JSON.stringify(A).indexOf(JSON.stringify(B)) !== -1)
     // 返回true
     console.log(A.indexOf(B))
     // 返回false,找不到该对象

3.3 让localStorage/sessionStorage可以存储对象(实际项目中常用)

localStorage/sessionStorage 默认只能存储字符串,如果想要存储对象必须先利用JSON.stringify()转换为字符串;而取缓存时,再通过JSON.parse()转回对象

4 defineProperty可以用来给对象添加一个新的属性,但是该属性默认不可枚举,比如object.keys方法无法枚举出由其定义的属性 还有一个是symbol


5.console用法


计时功能

console.time()console.timeEnd()

可以显示一段代码的运行时间

console.time("代码的运行时间是:");  
for(let i = 0 ; i<10000;i++){
   console.log(1)
}
console.timeEnd("代码的运行时间是:");
// 代码的运行时间是:: 264.711669921875 ms

追踪功能

使用console.trace()追踪函数的调用轨迹,可以输出在第几行代码、其他哪个方法、其他什么地方调用了该函数

<script type="text/javascript">
// 函数中加入console.trace()方法
function A(){
    console.trace() 
    console.log(123)
}
A()
function B(){
    console.log(110)
    console.trace() 
}
B()
</script>

控制台打印:

image.png

6. js运算符优先级问题


逻辑非(!)优先级高于全等号(===)

console.log(!true === false)
//先看!左边为false 再比较全等么 结果为true

逻辑非(!)优先级高于全等号(===)因此先看左边再看右边。

左边逻辑非只会返回布尔值truefalse再看全等不。

相关文章
|
7月前
|
前端开发 JavaScript
70.【JavaScript 6.0】(六)
70.【JavaScript 6.0】
29 1
|
5月前
|
JavaScript 前端开发
javascript01
javascript01
37 0
|
3月前
|
设计模式 缓存 前端开发
九个超级好用的 Javascript 技巧
九个超级好用的 Javascript 技巧
|
8月前
|
移动开发 JavaScript 前端开发
JavaScript1
JavaScript1
37 0
|
7月前
|
JavaScript 前端开发
JavaScript小练习
JavaScript小练习
|
JavaScript 前端开发
JavaScript 能够做什么?
JavaScript 能够做什么?
69 0
|
JavaScript 前端开发 Android开发
JavaScript小技巧
牙叔教程 简单易懂
148 0
|
JavaScript 前端开发 C#
JavaScript
JavaScript
133 0
|
前端开发 JavaScript Java
JavaScript——JavaScript的介绍
JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
148 0

热门文章

最新文章

相关实验场景

更多