js函数声明方法
在JavaScript中,有几种不同的方法可以定义函数。以下是常见的几种方法:
函数声明(Function Declaration):
123function myFunction() { // 函数体}
函数表达式(Function Expression):
123const myFunction = function() { // 函数体};
箭头函数(Arrow Function):
123const myFunction = () => { // 函数体};
Function构造函数:
1const myFunction = new Function('x', 'y', 'return x + y');
上述这些方法在定义函数时有一些差异和用途上的区别。
函数声明是最常见也最简单的方式,使用关键字function直接定义一个函数。函数声明会被提升到作用域的顶部,因此在函数声明之前调用函数也是可以的。
函数表达式则是将函数赋值给一个变量,通 ...
JS逆向之hook
1. 概念通过 hook 技术,可以改变函数的行为、捕获函数的调用或修改对象的属性。一般使用Object.defineProperty()来进行hook。
1Object.defineProperty(obj, prop, descriptor)
obj:对象;
prop:对象的属性名;
descriptor:属性描述符;
Object.defineProperty() 允许精确地添加或修改对象上的属性。
对象中存在的属性描述符有两种主要类型:数据描述符和访问器描述符。数据描述符是一个具有可写或不可写值的属性。访问器描述符是由 getter/setter 函数对描述的属性。描述符只能是这两种类型之一,不能同时为两者。
数据描述符具有以下可选键值:
value
writable
访问器描述符具有以下可选键值:
get
set
我们一般hook使用的是get和set方法,下边简单演示一下
1234567891011121314151617var people = { name: '张三',};Object.defin ...
js补环境之proxy
1. 补环境是什么浏览器环境: 是指 JS代码在浏览器中的运行时环境,它包括V8自动构建的对象(即ECMAScript的内容,如Date、Array),浏览器(内置)传递给V8的操作DOM和BOM的对象(如document、navigator);
Node环境:是基于V8引擎的Js运行时环境,它包括V8与其自己的内置API,如fs,http,path;
Node环境 与 浏览器环境 的异同点可以简单概括如图:
简而言之,就是补浏览器有而Node没有的环境,即BOM和DOM的对象。
2. 为什么要补环境由于浏览器和Node的差异,导致部分JS代码在浏览器中能正常运行,但在Node无法正常运行。如:
123456789101112function decrypt() { document = false; var flag = document?true:false; if (flag) { return "正确加密" } else { return "错误加密&qu ...
typora 设置腾讯云图床配置文件
0. 前言ubuntu 中 配置typora腾讯云图床,关于配置文件的设置
1. 正文按照如下图所示,选择PicGo-Core,下载更新,
可以点击‘打开配置文件’,也可使用命令vim ~/.picgo/config.json 粘贴如下内容,替换其中的appID,bucket,secretId,secretKey,area,可在腾讯云的对象存储中找到,token可登录https://sm.ms/home/apitoken网站,注册后在链接位置找到
1234567891011121314151617181920{ "picBed": { "current": "tcyun", "uploader": "tcyun", "smms": { "token": "" }, "tcyun": { "appI ...
hexo 多台电脑公共维护博客
0. 前言在不同电脑之间共同维护博客
前提: 电脑上以安装并登录github
1. 正文1.1 基础知识hexo我们可以简单理解为将md格式的文件转换成html类的网页文件。当我们使用hexo d 时,只会把生成html类的网页推送到远程服务器。
如果我们想在不同电脑上都能维护博客,就需要把生成html类的代码也放远端(github),这样就能共同维护了。
hexo部分文件夹说明:
文件夹
说明
public
hexo g生成的网页代码
thems
主题
_config.yml
全局配置文件
source
md文件
package-lock.json
锁定包的版本
package.json
hexo相关包的信息
scaffolds
文章模版
常用命令说明:
hexo clean: 清除public中的数据
hexo g: 将md格式文件转换成html类静态网页文件
hexo d: 推送到远端部署
hexo s: 本地预览
hexo n: 新建文件
推送文章三部曲:
123hexo cleanhexo ghexo d
1.2 ...