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的区别
iterator 和 iterable 是 JavaScript 中与迭代相关的两个概念,它们之间有一些关键的区别。
Iterable(可迭代对象):
- 定义: 可迭代对象是实现了
Symbol.iterator方法的对象。这个方法返回一个迭代器对象。 - 特点: 可迭代对象可以被用于
for...of循环,其中迭代器对象负责定义迭代的顺序。 - 示例: 数组、字符串、Map、Set 等都是可迭代对象,因为它们都实现了
Symbol.iterator方法。
let iterableObject = {
[Symbol.iterator]: function () {
// 返回迭代器对象的逻辑
}
};
Symbol.iterator的中括号
在 JavaScript 中,方括号“[]”用来表示对象的属性名,而不是普通的字符串。当你使用方括号来定义一个 … 阅读更多
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等等