Js-w3school(2024,学习前端开发只要这些东西

JavaScript 函数也可以使用表达式来定义。

函数表达式可以在变量中存储:

var x = function (a, b) {return a * b};

2.Function() 构造器

函数也可以通过名为 Function() 的内建 JavaScript 函数构造器来定义。

var myFunction = new Function(“a”, “b”, “return a * b”);

var x = myFunction(4, 3);

也可以不用

var myFunction = function (a, b) {return a * b};

var x = myFunction(4, 3);

3.函数提升

Hoisting 应用于变量声明和函数声明。

正因如此,JavaScript 函数能够在声明之前被调用

myFunction(5);

function myFunction(y) {

return y * y;

}

但是使用表达式定义的函数不会被提升。

3. 自调用函数

函数表达式可以作为“自调用”。

自调用表达式是自动被调用(开始)的,在不进行调用的情况下。

函数表达式会自动执行,假如表达式后面跟着 ()。

(function () {

var x = “Hello!!”; //我会调用我自己

})();

4.函数可用作值

JavaScript 函数可被用作值,JavaScript 函数可用在表达式中

function myFunction(a, b) {

return a * b;

}

var x = myFunction(4, 3) * 2;

5.函数是对象

JavaScript 中的 typeof 运算符会为函数返回 “function”。

JavaScript 函数都有属性和方法。

(1)arguments.length 会返回函数被调用时收到的参数数目:

function myFunction(a, b) {

return arguments.length;

}

(2)toString() 方法以字符串返回函数:

function myFunction(a, b) {

return a * b;

}

var txt = myFunction.toString();

//function myFunction(a, b) { return a * b; }

6.为创建新对象而设计的函数,被称为对象构造函数(对象构造器)

7. 箭头函数(es6)

箭头函数允许使用简短的语法来编写函数表达式。

您不需要 function 关键字、return 关键字和花括号。

形式:(参数)=>返回值

// ES5

var x = function(x, y) {

return x * y;

}

// ES6

const x = (x, y) => x * y;

箭头函数没有自己的 this。它们不适合定义对象方法。

箭头函数未被提升。它们必须在使用前进行定义。

使用 const 比使用 var 更安全,因为函数表达式始终是常量值。

如果函数是单个语句,则只能省略 return 关键字和大括号。

const x = (x, y) => {

var a=2;

return (xa)+(ya);

};

document.getElementById(“demo”).innerHTML = x(1, 5);//26

IE11 或更早的版本不支持箭头函数。

(二)函数参数

1.函数参数定义

functionName(parameter1, parameter2, parameter3) {

要执行的代码

}

函数参数(parameter)指的是在函数定义中列出的名称。

函数参数(argument)指的是传递到函数或由函数接收到的真实值。

2. 参数规则:无类型、无数量

JavaScript 函数定义不会为参数(parameter)规定数据类型。

JavaScript 函数不会对所传递的参数(argument)实行类型检查。

JavaScript 函数不会检查所接收参数(argument)的数量。

3. 如果调用参数时省略了参数(少于被声明的数量),则丢失的值被设置为:undefined。

4. 如果函数调用的参数太多(超过声明),则可以使用 arguments 对象(数组)来达到这些参数。

x = sumAll(1, 123, 500, 115, 44, 88);

function sumAll() {//求合函数

var i, sum = 0;

for (i = 0; i < arguments.length; i++) {

sum += arguments[i];

}

return sum;

}

5.参数传值,对象传址

JavaScript 参数通过值传递:函数只知道值,而不是参数的位置。

如果函数改变了参数的值,它不会改变参数的原始值。

在 JavaScript 中,对象引用是值。

正因如此,对象的行为就像它们通过引用来传递:

如果函数改变了对象属性,它也改变了原始值。

(三)函数调用

1.在函数被定义时,函数内部的代码不会执行。在函数被调用时,函数内部的代码会被执行。

2.函数形式调用

function myFunction(a, b) {

return a * b;

}

myFunction(10, 2); // 将返回 20

2.作为方法调用

var myObject = {

firstName:“Bill”,

lastName: “Gates”,

fullName: function () {

return this.firstName + " " + this.lastName;

}

}

myObject.fullName(); // 将返回 “Bill Gates”

3.函数构造器调用

如果函数调用的前面是 new 关键字,那么这是一个构造函数调用。

// 这是函数构造器:

function myFunction(arg1, arg2) {

this.firstName = arg1;

this.lastName = arg2;

}

// 创建了一个新对象:

var x = new myFunction(“Bill”, “Gates”);

x.firstName; // 会返回 “Bill”

(四)函数Call、Apply方法重用

1.call() 方法,您可以编写能够在不同对象上使用的方法。

call() 方法是预定义的 JavaScript 方法。它可以用来调用所有者对象作为参数的方法。通过 call(),您能够使用属于另一个对象的方法。

var person = {

fullName: function(city, country) {

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

易碰到天花板技术停滞不前!**
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-SJDtK0af-1710883098827)]
[外链图片转存中…(img-YxUTFGom-1710883098828)]
[外链图片转存中…(img-VvKjC2Kb-1710883098829)]
[外链图片转存中…(img-OPokzk6k-1710883098829)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-qJu1bSBt-1710883098830)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值