博客列表 >js第一课 引入方式 参数 函数

js第一课 引入方式 参数 函数

大宇
大宇原创
2021年04月02日 14:19:35830浏览

js引入方式,实例演示;

  1. 行内脚本
    1. <button onclick="alert(1)">Click</button>
  2. 内部脚本 将js写在一对script标签中
    1. <style>
    2. .active{
    3. color: red;
    4. background: yellow;
    5. }
    6. </style>
    7. <script>
    8. function toggleColor() {
    9. document.querySelector("h1").classList.toggle("active");
    10. }
    11. </script>
    12. <button onclick('toggleColor')></button>
  3. 外部引入 将js代码写入到外部的js中,在html中进行引用
    toggle.js:
    1. function toggleColor() {
    2. document.querySelector("h1").classList.toggle("active");
    3. }
    html中的代码:
    1. <script src="toggle.js"></script>

    变量与常量的声明与使用方式,变量的类型和转换;

    在es6之前是没有常量。
    1. <script>
    2. //传统方式:在es6之前 没有常量
    3. // 变量:数据共享
    4. let email = "admin@qq.com";
    5. console.log(email);
    6. console.log(email);
    7. console.log(email);
    8. </script>

    如果变量没有初始化,那么就是undenfined
    1. let user;
    2. console.log(user);
    1. userName=null;
    2. console.log(userName);
    赋值null,相当于把这个变量删除
    常量:
    1. //常量
    2. const GENDER = "male";
    常量通常使用大写,多个单词之间使用下划线 这个是不允许被更新的
    因为不允许被更新,所以声明的时候必须赋值。
    js是严格区分大小写。
    命名方式:
    1. 驼峰式:userName, unitPrice
    2. 帕斯卡式:UserName UnitPrice
    3. 蛇形式:user_name unit_price
    4. 匈牙利式:将数据类型放在变量的最前面
    5. object类型的:oBtn
    6. 推荐使用驼峰式
    数据类型
    1. <script>
    2. // 一旦将数据类型确定,那么基于这个数据的允许的操作也就确定了
    3. console.log(100 * "abc"); // NaN
    4. </script>
    1、原始类型:数值 字符串 布尔型 undenfined null
    undefined类型就是undefined
    null一定是一个对象
    2、复合类型:将原始值以某种规则进行组合,就构成了复合类型
    也叫引用类型:对象object,数组,函数
    既然函数是对象,那么对象就允许添加属性或方法
    1. function getName(){}
    2. getName.userName="perper";
    3. console.log(getName.userName);
    输出的就是perper

通常只有相同类型的数据才在一起参与计算,这样的运算才有意义 比如100+100
+ 除了表示加法,也是字符串的拼接运算符
== 也会触发自动类型转换,它是非严格判断,它只检查值,不检查类型。建议使用”===”,它是要求值相等 且类型也相等,它不会触发自动类型转换。
console.log(100 == “100”);

函数与高阶函数,实例演示;

一般函数分两步:
声明:

  1. function test(){}

调用:

  1. test();

函数允许重写,或者说是函数声明提升

  1. <script>
  2. function getName(name){
  3. console.log("welcom to :", name)
  4. }
  5. console.log(getName("xxxxx"));
  6. function getName(name){
  7. console.log("欢迎:", name);
  8. }
  9. </script>

上述代码输出的是欢迎xxxxx

如果不希望函数提升,必需先声明在使用 用匿名函数

  1. let getName = function(name){
  2. console.log(name);
  3. }

匿名函数就是将一个函数的声明作为值赋值给一个变量或常量,然后通过这个变量或常量来引用这个函数的声明

函数的参数

函数都是单值返回

  1. let sum = function(a,b){
  2. return a+b;
  3. }
  4. console.log(sum(1,2));

如果只给一个值 那么返回的就是NaN

  1. console.log(sum(1));


我们也可以给函数一个默认参数

  1. sum = function(a, b=1){
  2. return a+b;
  3. }
  4. console.log(sum(1));

归并参数

归并参数,rest语法,将所有参数压到一个数组中来简化参数的获取过程

  1. let sum = function(...arr){
  2. console.log(arr);
  3. }
  4. console.log(sum(1,2,3,4,5,6,7));


这样得到的参数怎么相加?可以使用for进行遍历,也可以使用reduce()

  1. let t=0;
  2. sum = function (...arr) {
  3. for (let i = 0; i < arr.length; i++) {
  4. t += arr[i];
  5. }
  6. return t;
  7. };
  8. console.log(sum(1, 2, 3, 4, 5, 6, 7));
  9. sum = function (...arr) {
  10. return arr.reduce((p, c) => p + c); //28
  11. };
  12. console.log(sum(1, 2, 3, 4, 5, 6, 7));

高阶函数 偏函数 纯函数 箭头函数 立即执行函数

高阶函数

使用函数作为参数,或者将函数作为返回值。

  1. fucntion demo(f){
  2. reuturn f;
  3. }
  4. }
  5. console.log(demo(function(){}));

  1. function demo() {
  2. return function () {
  3. return "abc";
  4. };
  5. }
  6. let a = demo();
  7. console.log(a);
  8. console.log(a());


函数作为参数 也叫回调函数。

偏函数

  1. function sum(a,b,c,d){
  2. return a+b+c+d;
  3. }
  4. console.log(sum(1,2,3,4));

我们可以将此函数进行柯里化 内层函数可以访问外层函数

  1. let sum = function(a,b){
  2. return function(c,d){
  3. return a+b+c+d;};
  4. };
  5. let f1 = sum(1,2);
  6. console.log(f1(3,4));

  1. let sum = function (a) {
  2. // 柯里化
  3. return function (b) {
  4. return function (c) {
  5. return function (d) {
  6. return a + b + c + d;
  7. };
  8. };
  9. };
  10. };
  11. let res = sum(1)(2)(3)(4);
  12. console.log(res);

结果都是一样的

纯函数

纯函数就是不调用自身之外的参数

  1. //这个就不是纯函数 他调用了自身之外的参数c
  2. let c= 199;
  3. function sum(a,b){
  4. return a+b+c;
  5. }
  6. //这个是纯函数
  7. function sum(a,b){
  8. return a+b;
  9. }

箭头函数

匿名函数,可以使用箭头函数来简化

  1. let sum = function(a,b){
  2. return a+b;
  3. }
  4. let sum = (a,b) => {return a+b};
  5. //如果函数体只有一句参数 可以删除{} 并且自带return
  6. let sum = (a,b) => a+b;
  7. //如果只有一个参数,连参数列表的圆括号 都可以删除 推荐括号加上,带上去可以容易看出来不是个变量 而是参数
  8. let tips = name => console.log(name);

注意:如果函数中要使用到this的时候,就不要用箭头函数了 箭头函数不支持this,所以箭头函数不能当构造函数用。

立即执行函数

就是声明调用二合一。
模板 ()()

  1. //一个普通函数
  2. function sum(a,b){
  3. return a+b;
  4. }
  5. //转换成立即执行函数
  6. (function sum(a,b){
  7. return a+b;
  8. })(1,2);
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议