Web前端最全我为什么建议前端将Python 作为第二语言?,2024年最新蚂蚁金服二面要注意什么

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

print ‘so boring’

但在JavaScript中,“methods”的通俗定义是指语言规范中内置的方法,例如:Function.prototype.apply()

MDN上有对二者的解释:

在大多数方面,Functionsmethods相同,但有两个主要区别:

  • methods可以被隐式传递到调用该methods的对象上。

  • methods能够对类中包含的数据进行操作。

然鹅,在JavaScript中,“类”只是语法糖的存在,稍后我们再进行对比。

3. 模板字符串


在模板字符串上,JavaScript之前是领先于python的。

// JavaScript

let exclamation = ‘Whoa!’;

let sentence = They are really similar to Python.;

console.log(Template Literals: ${exclamation} ${sentence});

python

print ‘打印: {} {}’.format(‘Whoa.’, ‘Quite!’)

打印: Yup. Quite!

{}充当占位符。 这种语法被诟病颇多,于是在后来的Python3.6版本中,又提供了一种字符串格式化语法——f-strings

直接对比:

name = “Tom”

age = 3

print(f"他叫 {name}, {age} 岁")

“他叫Tom, 3 岁”

4. 参数默认值


JavaScript再次完美“借鉴”Python:

// JavaScript

function nom(food=“ice cream”) {

console.log(Time to eat ${food});

}

nom();// Time to eat ice cream

Python

def nom(food=“ice cream”):

print ‘Time to eat {}’.format(food)

nom() # Time to eat ice cream

5. 其余参数和* args


Rest参数语法,使我们可以将不定数量的参数表示为数组,传入函数中。

  • 在Python中,它们称为* args

  • 在JavaScript中…xxx就表示为其余参数。

// JavaScript

function joke(question, …phrases) {

console.log(question);

for (let i = 0; i > phrases.length; i++) {

console.log(phrases[i]);

}

}

let es6Joke = “Why does JS single out one parameter?”

joke(es6Joke, “Because it doesn’t”, ‘really like’, ‘all the REST of them!’);

// Why does JS single out one parameter?

// Because it doesn’t

// really like

// all the REST of them!

Python

def pirate_joke(question, *args):

print question

for arg in args:

print arg

python_joke = “What’s a Pyrate’s favorite parameter?”

pirate_joke(python_joke, “*args!”, “*arrgs!”, “*arrrgs!”)

What’s a Pyrate’s favorite parameter?

*args!

*arrgs!

*arrrgs!

6. Classes:类


众所周知,ES6类实际上是语法糖。 Python具有内置的类,可以快速,轻松地进行面向对象的编程。

而JavaScript原型链继承,是每个前端的必须课。

// JavaScript

class Mammal {

constructor() {

this.neocortex = true;

}

}

class Cat extends Mammal {

constructor(name, years) {

super();

this.name = name;

this.years = years;

}

eat(food) {

console.log('nom ’ + food);

}

}

Python

class Mammal(object):

neo_cortex = True

class Cat(Mammal):

def init(self, name, years):

self.name = name

self.years = years

def eat(food):

print ‘nom %s’ % (food)

fry_cat = Cat(‘Fry’, 7)

fry_cat.eat(‘steak’)

心而论,Python的写法更优雅。。。

7. Modules and import:模块


ES6的模块语言借鉴于python,却优秀于它。两者之间有一些区别:

  • JavaScript导入是静态的;Python是动态的。

  • JavaScript模块必须显式导出。在Python中,所有模块均可导入。

  • JavaScript具有默认导出的概念。Python没有。

python

import mymodule

mymodule.myfunc()

// javascript

import * as myalias from “./mymodule”;

myalias.myfunc();

1. 导入分模块

在javascript中,我们想导入分模块直接解构赋值就可以了

// javascript

import { myvar, myfunc } from “./mymodule”;

console.log(myvar);

myfunc();

而在python,其语义则相反:

最后

全网独播-价值千万金融项目前端架构实战

从两道网易面试题-分析JavaScript底层机制

RESTful架构在Nodejs下的最佳实践

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

一线互联网企业如何初始化项目-做一个自己的vue-cli

思维无价,看我用Nodejs实现MVC

代码优雅的秘诀-用观察者模式深度解耦模块

前端高级实战,如何封装属于自己的JS库

VUE组件库级组件封装-高复用弹窗组件

U3YTdlNDFmZDc3OTRiZWYzNjVkYjNlYzQxMF9oZC5qcGc?x-oss-process=image/format,png)

前端高级实战,如何封装属于自己的JS库

VUE组件库级组件封装-高复用弹窗组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值