细碎知识点

细碎知识点学习 单引号和双引号主要用于定义普通字符串。反引号用于定义模板字符串,支持嵌入表达式和多行文本。转义字符在所有类型的字符串中都适用,用于表示特殊字符。 阅读详情

记录一些细碎知识点

1.Base64
JavaScript 原生提供两个 Base64 相关的方法。

btoa():任意值转为 Base64 编码
atob():Base64 编码转为原来的值

 /*上面两个方法不适合非 ASCII 码的字符,会报错,所以需要转码。*/
function b64Encode(str) {
 return btoa(encodeURIComponent(str));
}

function b64Decode(str) {
 return decodeURIComponent(atob(str));
}
2.函数作用域

函数本身也是一个值,也有自己的作用域。它的作用域与变量一样,就是其声明时所在的作用域,与其运行时所在的作用域无关。


var a = 1;
var x = function () {
 console.log(a);
};

function f() {
 var a = 2;
 x();
}

f() // 1

上面代码中,函数x是在函数f的外部声明的,所以它的作用域绑定外层,内部变量a不会到函数f体内取值,所以输出1,而不是2。
总之,函数执行时所在的作用域,是定义时的作用域,而不是调用时所在的作用域。

// 同理
function foo() {
  var x = 1;
  function bar() {
    console.log(x);
  }
  return bar;
}
var x = 2;
var f = foo();
f() // 1
3.函数值传递

函数参数如果是原始类型的值(数值、字符串、布尔值),传递方式是传值传递(passes by value)。这意味着,在函数体内修改参数值,不会影响到函数外部。

var p = 2;

function f(p) {
  p = 3;
}
f(p);

p // 2

上面代码中,变量p是一个原始类型的值,传入函数f的方式是传值传递。因此,在函数内部,p的值是原始值的拷贝,无论怎么修改,都不会影响到原始值。

注意,如果函数内部修改的,不是参数对象的某个属性,而是替换掉整个参数,这时不会影响到原始值。
var obj = [1, 2, 3];

function f(o) {
  o = [2, 3, 4];
}
f(obj);

obj // [1, 2, 3]

上面代码中,在函数f内部,参数对象obj被整个替换成另一个值。这时不会影响到原始值。这是因为,形式参数(o)的值实际是参数obj的地址,重新对o赋值导致o指向另一个地址,保存在原地址上的值当然不受影响。

4.不使用eval

eval不利于引擎优化执行速度,而且会改变外部作用域
为了保证eval的别名不影响代码优化,JavaScript 的标准规定,凡是使用别名执行eval,eval内部一律是全局作用域。

//不使用别名
var a = 1;
function f() {
  var a = 2;
  eval('console.log(a)');
}
f() //2
//使用别名
var a = 1;
function f() {
  var a = 2;
  var e = eval;
  e('console.log(a)');
}
f() // 1
5.指数运算符

指数运算除了使用Math.pow(),也可以使用指数运算符:**

Math.pow(3,3) //27
3**3 //27
6.js会在语句后自动加分号,可能会造成错误
return
{
  key: value
};

// 相当于
return;
{
  key: value
};
7.为什么不要使用with语句

with可以减少代码的书写,但是会造成混淆。

with (o) {
 foo = bar;
}

上面的代码,可以有四种运行结果:

o.foo = bar;
o.foo = o.bar;
foo = bar;
foo = o.bar;

这四种结果都可能发生,取决于不同的变量是否有定义。因此,不要使用with语句。

8.参数对象的 toJSON 方法

如果参数对象有自定义的toJSON方法,那么JSON.stringify会使用这个方法的返回值作为参数,而忽略原对象的其他属性。

9.对象的get使用
var user = {
  firstName: '三',
  lastName: '张',

  get fullName(){
    return this.lastName + this.firstName;
  }
};
user  //{firstName: "三", lastName: "张"}
user.fullName  //"张三"
JSON.stringify(user)  //"{"firstName":"三","lastName":"张","fullName":"张三"}"

###阅读到Date对象

Spring Boot入门(13):Mybatis-Plus之条件构造器使用手册:精通让你快速提高查询效率的技巧! 化繁为简,MP 中条件构造器的使用,极其详细. 阅读详情

相关推荐

500道C++面试高频题解析(附答案、实战示例与进阶追问)

本文提供500道C++面试高频题的详细解析,涵盖基础概念到进阶应用,包括面向对象编程、内存管理、现代C++特性、并发编程等核心考点。每道题配有实战示例和进阶追问,帮助开发者突破八股文局限,掌握解决实际问题的能力,适合准备C++技术面试的工程师系统复习。

weixin_29002595的博客 311

JavaScript之语法注意事项

1. 传递方式 整理自 《JavaScript 语言入门教程》 函数参数如果是原始类型的值(数值、字符串、布尔值),传递方式是传值传递(passes by value)。这意味着,在函数体内修改参数值,不会影响到函数外部。 var p = 2; function f(p) { p = 3; } f(p); p // 2 上面代码中,变量p是一个原始类型的值,传入函数f的方式是传值传递。因此,...

Csoap2的博客 273

doris2.1.8连接报错ERROR 1203 (42000): Reach limit of connections解决办法

摘要:客户Doris数据库报错"ERROR 1203 (42000): Reach limit of connections"的解决过程。发现AI提供的解决方案存在错误:1)查询命令应为SHOW FRONTEND CONFIG而非show variables;2)参数名称应为qe_max_connection而非max_connections。正确解决步骤:1)用admin账户登录查看连接数限制和当前连接数;2)通过SHOW PROPERTY命令检查用户资源限制;3)针对不同情况修改参数

Brent的专栏 1762

细碎知识点小记

1.exif_imagetype的原理是读取文件的头信息,分析文件的二进制格式,从而判断文件的类型,和文件的扩展名无关。所以用这个函数来判断图片的类型比依靠扩展名更准确,也很可靠!2. 查看类中有哪些public 方法           class a { public $k; public function b(){}         private function c(){ } } ...

ad132126的博客 312

从理论到板级:FOC电机驱动硬件电路全链路设计解析

本文从硬件工程师视角,深度解析FOC电机驱动从理论到板级实现的全链路设计。重点剖析了电源保护、核心采样电路、三相逆变桥与驱动电路等关键硬件模块的设计要点与实战经验,强调硬件是FOC算法可靠运行的基石,并提供了PCB布局布线的核心原则,帮助开发者构建高性能、高可靠性的电机驱动硬件平台。

weixin_29240711的博客 332

机械臂TCP标定实战:从四点法到六点法的精度跃迁

本文详细解析机械臂TCP标定技术,从基础的四点法到高精度的六点法实现精度跃迁。通过工具坐标系与基坐标系的转换原理,结合实战案例展示六点法如何将装配合格率提升至99.5%,并分享环境控制、操作技巧等提升标定精度的关键要素。

weixin_29038345的博客 895

Pymol——细碎知识点

pymol细碎知识点

yin1331102028yin的博客 2298

自动化专业与嵌入式

在学生时期,我是一个典型的学渣,所以只能选择电气工程、汽修、数控之类的专业。而那些高分的则可以选择计算机,电子商务,通信之类的。这些专业看起来像是蓝领和白领的分界,至今我都觉得这种制度是不人性化的。专业这块根据学生的爱好去选择是最好的,毕竟有兴趣才会”真心”去学习。谁说学渣就学不会编程、学不会金融对吧?不过也罢,在学校能学到东西的毕竟是少数,最近有些大学生发了他们的课程表给我看了下。我感觉学的太广了,什么单片机、c语言、java之类的,导致很多学生学完以后还是很迷茫,不知道自己专业到底是从事什么方向的。所以

m0_71017841的博客 3588

MVC细碎知识点

MVC细碎知识点 下载项目查看

qq_40647895的博客 109

别让PEX和后仿真拖后腿:Calibre与Virtuoso ADE联调的那些‘坑’与最佳实践

本文深入探讨了Calibre与Virtuoso ADE在PEX寄生参数提取和后仿真联调中的常见问题与解决方案。针对DRC/LVS验证通过后出现的网表导入错误和仿真波形异常,提供了七大典型场景的实战经验,包括PEX提取模式选择、CalibreView生成细节、环境变量配置等关键环节的最佳实践,助力工程师高效完成芯片设计验证。

weixin_33695450的博客 393

华为OD机试2025C卷-双十一最大花费金额[100分](Java_Python3_C++_C语言_JsNode_Go)实现100%通过率

双十一最大花费金额 - 动态规划解法 摘要:本文介绍了华为OD机试中"双十一最大花费金额"问题的动态规划解法。该问题要求在给定N件商品价格和优惠券面额X的情况下,选择若干商品使总花费不超过X且尽可能大。核心解法采用布尔型动态规划数组,记录每个金额是否可被拼出。算法时间复杂度为O(N*X),空间复杂度为O(X)。通过倒序遍历避免重复选择同一商品,最后从X向下查找第一个可达金额作为答案。文中提供了C++和Java的实现代码,并解释了与经典0-1背包问题的关系。 关键点: 问题本质是0-1背包/子集和问题的变体

2503_91057718的博客 46

cpp细碎知识点

派生类中定义一个与基类虚函数具有相同函数签名(函数名、参数列表、返回类型)的函数,这被称为重写。重写意味着派生类提供了基类虚函数的一个特定于派生类的实现。在C++中,友元函数不会被继承。这意味着如果你在一个基类中声明了一个友元函数,这个友元关系不会自动传递给派生类。每个类都必须单独声明其友元函数。虚函数)实现动态(运行时)多态性的。

2401_86517033的博客 278

【ESP 保姆级教程】玩转emqx数据集成篇④ ——数据桥接之HTTP服务

主要是学习数据桥接功能以及构建自己的http服务器,这是一个非常有用的功能。包括各种传感器上报基本上都需要数据桥接功能支持,所以还是希望认真学习这一块开发,然后结合数据库存储等等知识点进行进一步学习。

单片机菜鸟哥的博客 1307

在闲暇时间记录的一些Java细碎的知识点,希望能帮到大家

由于类方法是属于整个类的,并不属于类的哪个对象,所以类方法的方法体中不能有与类的对象有关的内容。LinkedList每次增加的时候,会new一个Node对象来存新增加的元素,所以当数据量小的时候,这个时间并不明显,而ArrayList需要扩容,所以LinkedList的效率就会比较高,但当ArrayList不需要扩容的时候它的效率应该是LinkedList高的,当数据量很大达到千万级别的时候,new对象的时间大于扩容的时间,那么就会出现ArrayList的效率比Linkedlist高的情况了。

2301_80295548的博客 868

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

CD41.【C++ Dev】补充vector细碎的知识点

补充C++中vector知识点:1. vector初始化方式,包括使用迭代器范围和数组指针;2. 对比vector<char>与string,说明string的专业性;3. sort函数的升序/降序排序方法,演示反向迭代器和greater的用法;4. 强调reserve与resize的区别;5. 介绍data()成员函数访问底层数组;6. 二维vector的两种访问方式,包括operator[]重载和data()指针操作

zhangcoder的博客 记录学习轨迹~ 1088

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C++秋招记录(三)——细碎知识点

C++秋招记录(三)1、memory alignment and padding, 内存对齐的原理与意义2、typedef 和 define 有什么区别3、const(enum)与 #define 的比较 ,const有什么优点?4、const 有什么用途 细碎知识点 1、memory alignment and padding, 内存对齐的原理与意义 作用:结构体以及类成员对齐,意义就是减少cpu读取的次数,提高效率。 比如一个int变量长度为4个字节,cpu一次读4个字节,当然是一次读取比较好。但

babyzbb636的博客 230

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java细碎知识点归纳

数组复制效率 System.arraycopy > clone > Arrays.copyOf > for循环 web容器 作用:在Web应用程序中,负责将HTTP请求转换为HttpServletRequest对象 注: Apache就是一个Http服务器,Tomcat是一个web容器,静态的html - Apache还可以处理,但是动态的需要转发给Tomcat去处理了,比如jsp页面,请求先经由Apache转发给Tomcat再由Tomcat解析请求 Java体系结构 1、Java程序

DZiXin的博客 264

Java基础之细碎知识点归纳

Java基础之细碎知识点归纳 1.Object类的九大方法 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。 2.getClass方法 final方法,获得运行时类型。 3.toString方法 该方法用得比较多,一般子类都有覆盖。 4.finalize方法 该方法用于释放资源。因为...

chrissw的博客 202

C++中一些细碎的知识点

C++中一些细碎的知识点

qq_47804149的博客 131

记一些细碎的CSAPP知识点

我一直坚持书要从厚读薄,然后从薄到厚,这两个过程都应该是逻辑上的,先提取重点概要,然后在脑子里将其展开成为完整的知识体系,可惜计算机体系太过庞大,我们就是管中窥豹,掌握一些基本的概念罢了。

zhousiyuan0515的博客 463

UVM细碎知识点

UVM碎碎念

qq_36375203的博客 1410

iOS开发细碎知识点总结一

稍后更新

逝水无情的博客 1979

Python细碎知识点——自查

1.x=char(input(“qingshuru$”)) 怎么实现上面的, 2.print好像会自动换行 3.map函数,去控制输入格式 4.else怎么省略,或者空语句 5.怎么输入换行符 1.多组输入: from math import * while True: try: n=int(input()) print(5201314+n) #except EOFError:break except:break ...

晚风微凉的博客 909

maven 细碎知识点

dependencyManagement和dependencies区别: dependencies:子项目默认继承父项目所有的声明。 dependencyManagement:子项目显示声明才会引出父项目的依赖。

qq_44272797的博客 305

【excel细碎小知识点】

它是一种灵活的数据类型。显示的是什么就是什么类型。比如你是1.765它的类型是文本,你把它修改为常规类型后它就是数字。(比如这个数是1.765但只显示两位为1.76。它实际计算的数值是1.765,所以会造成误差)**连接字符串:**转化后都是文本字符串类型。你可以通过修改数据类型进行更多可能的操作。在连接之后修改内容,会同时改变你串联的数据。单元格中的数据可能是。

2301_76312306的博客 1485

iOS开发细碎知识点总结二

稍后更新

逝水无情的博客 4446
上一篇: JavaScript 标准参考教程【笔记】
下一篇: 游戏/应用出海,怎么获取流量,免费获取Google流量
一颗小行星!
博客等级 码龄15年 74粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值