、js 相关

隐式类型转换

javascript 复制代码
let num1 = '10'
let num2 = 10
console.log(num1 + num2) // 1010
console.log(num1 - num2) // 0
// 尝试类型转换
console.log('1.23' == 1.23) // true 字符串和数字可以互相转换
console.log(0 == false) // true 非零数值被视为真(true)
console.log(null == undefined) // true

判断 值和类型

对象引用比较(即比较地址)

javascript 复制代码
console.log(null === null) // true
console.log(undefined === undefined) // true
console.log(NaN === NaN) // false 表示无法表示为数字的任何数值
console.log(new Object() === new Object()) // false 对象引用(即地址)并不相等
console.log({} === {}) // false 比较对象按引用而不是值

typeof

javascript 复制代码
console.log(typeof NaN) // number 历史原因和设计决策
console.log(typeof 100) // number
console.log(typeof 'str') // string
console.log(typeof false) // boolean
console.log(typeof undefined) // undefined
console.log(typeof function fn() {}) // function
console.log(typeof new Object()) // object
console.log(typeof {}) // object
console.log(typeof null) // object
console.log(typeof [1, 2]) // object

instanceof

javascript 复制代码
console.log([1, 2] instanceof Array === true) // true
console.log({} instanceof Array === true) // false
console.log(new Object() instanceof Object === true) // true
console.log({} instanceof Object === true) // true

复合函数 ~ 柯里化

箭头函数hello和happy

javascript 复制代码
const hello = name => {
    return `hello ${name}`
}
const happy = name => {
    return `${name} :`
}

柯里化函数compose高阶函数,接受两个函数作为输入,并返回一个新的函数

javascript 复制代码
const compose = (f, g) => {
    return function (x) {
        return f(g(x))
    }
}

实际上先调用happy('你好')得到了"你好 :", 然后将这个字符串传递给了hello函数

javascript 复制代码
const happyHello = compose(hello, happy)
console.log(happyHello('你好')) // hello 你好 :
相关推荐
kyriewen1 分钟前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
去伪存真11 分钟前
我自己写的第一个skills--project-core-standards
前端·agent
Data_Journal20 分钟前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库
掌心向暖RPA自动化28 分钟前
如何获取网页某个元素在屏幕可见部分的中心坐标影刀RPA懒加载坐标定位技巧
java·javascript·自动化·rpa·影刀rpa
竹林8181 小时前
wagmi v2 多链钱包切换:一个 Uniswap 仿盘项目让我踩了三天坑
前端·javascript
donecoding1 小时前
Playwright MCP 页面捕获:Snapshot、截图、HTML 到底选哪个?
前端·ai编程·前端工程化
你也向往长安城吗1 小时前
最快的 JavaScript navmesh pathfinding3d 算法。
javascript
滕青山1 小时前
在线PDF拆分工具核心JS实现
前端·javascript·vue.js
Smilezyl1 小时前
一个独立开发者,靠一份 markdown 驱动 Claude Code, 用 20 天跑通 9 个包的 monorepo 工程
前端·人工智能·github
技术崽崽1 小时前
不止有 Agent:Cursor 进阶使用技巧全解析
前端