python格式化方式

name = 'James'
height = 168.7

# 使用 + 运算符
str_1 = name + ' has a height of ' + str(height) + ' cm.'
print(str_1)

# 使用 % 
str_2 = '%s has a height of %.3f cm.' %(name, height)
print(str_2)

# 使用 str.format()
str_3 = '{} has a height of {:.3f} cm.'.format(name, height)
print(str_3)

# 使用f-strings
str_4 = f'{name} has a height of {height:.3f} cm.'
print(str_4)

阅读更多

export default foo和export { foo as default }的区别

1. export default foo;

这种语法导出的是一个值,或者说是表达式值,而不是标识符。导入时,可以随意给予任何名字,这个名字只是用于在导入模块中引用默认导出的值。

//your-module
// 在导出模块的模块中
function foo() {
    // 函数实现部分
    // ...
}

export default foo;
// 在导入模块的模块中
import myFunction from './your-module';

在这种情况下,myFunction 是一个新的标识符,与 foo 没有直接关联。

阅读更多

JS中iterable和iterator的区别

iteratoriterable 是 JavaScript 中与迭代相关的两个概念,它们之间有一些关键的区别。

Iterable(可迭代对象)

  • 定义: 可迭代对象是实现了 Symbol.iterator 方法的对象。这个方法返回一个迭代器对象。
  • 特点: 可迭代对象可以被用于 for...of 循环,其中迭代器对象负责定义迭代的顺序。
  • 示例: 数组、字符串、Map、Set 等都是可迭代对象,因为它们都实现了 Symbol.iterator 方法。
let iterableObject = {
  [Symbol.iterator]: function () {
    // 返回迭代器对象的逻辑
  }
};

阅读更多

JS的this绑定

js的this关键字一般有四种绑定,当然也有一些例外绑定。

一、默认绑定

function foo() {
    console.log(this.a);
}
var a = 2;
foo(); // 2

foo()是直接使用不带任何修饰的函数引用进行调用的,会使用默认绑定,无法应用其他规则。

默认绑定在非严格模式下,foo()最后会将this设置为全局对象。

在严格模式下,这是未定义的行为。

function foo() {
    "use strict";
    console.log(this.a);
}
var a = 2;
foo(); // TypeError: this is undefined

虽然this的绑定规则完全取决于调用位置,但是只有foo()运行在非strict mode下时,默认绑定才能绑定到全局对象;在严格模式下调用foo()则不影响默认绑定:

阅读更多

process.env介绍

vue项目中,常常能看到process.env字段。比如 vue-element-admin中。axios中有:

const service = axios.create({
    baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
    // withCredentials: true, // send cookies when cross-domain requests
    timeout: 5000 // request timeout
})

那么process.env是什么?

首先, process 对象提供有关当前 Node.js 进程的信息并对其进行控制。它是一个 global (全局变量),提供有关信息,控制当前Node.js 进程。作为一个对象,它对于 Node.js 应用程序始终是可用的。

import process from 'node:process';

因此env 实际上是process对象的属性,该属性返回包含用户环境的对象。需要注意的是,process.env中并不存在NODE_ENV这个东西,NODE_ENV是⼀个⽤户⾃定义的变量,在webpack中它的⽤途是判断⽣产环境或开发环境。我们可以通过设置使得NODE_ENV存在process.env中,一般可以设置自己系统的环境变量,或者在webpack中配置mode,配置文件中设置mode等等

阅读更多