博客列表 >js基础知识(变量、常量、函数、数据类型、函数声明及类型)

js基础知识(变量、常量、函数、数据类型、函数声明及类型)

暮光薄凉
暮光薄凉原创
2021年10月04日 15:33:22539浏览

js基础知识

  1. 查看结果的方式
    alert(100+200); //alert()对话框
    console.log(100+200); //控制台

  2. 标识命名规则
    1.必须使用英文字母,数字,下划线“_”,$,这四种来命名

  3. 命名网格
    1.蛇行:user_name, 多个单词之间用下划线,常用于常量
    2.驼峰:userName,getUserName,第二个单词起首字母大写,用在变量,函数
    3.大驼峰:UserName, 帕斯卡 ,用在类/构造函数

  4. 变量声明 let 禁止重复声明同一个变量
    第一次赋值叫:初始化
    第二次赋值叫:更新/修改

  5. 常量声明 const 代码执行过程中不允许更新的数据
    声明时必须赋值,名称全部大写

  6. 原始数据类型:数值 number(整数和小数),字符串 string,布尔值 boolean,undefined,null
    typeof 变量名 :查看变量数据类型
    字符串拼接采用“+”进行连接

  7. 引用类型:数组(array),对象(object),函数(function)
    数组:[1,2,3],数据放在[]方括号内,使用 变量名[索引] 访问数组成员
    对象:{name:”电脑”} 数据放在{}花括号内,可用console.table(变量名称)查看数据,
    使用点语法访问对象数据:变量名.属性名 item.name
    当属性使用非法标识符时,必须转为字符串 “ ”

  8. 函数声明: function 函数名(参数){} ; function getTotal(name) {}
    函数调用:函数名() ; getTotal()
    查看函数名称:函数名.name ; getTotal.name
    查看参数数量:函数名.length ; getTotal.length

  1. 函数封装,将表达式放入函数中
  2. function getTotal(price,quan) {
  3. let jinge = 0;
  4. jinge = price + quan;
  5. console.log("jinge=" + jinge);
  6. }
  7. getTotal(60,50)
  8. getTotal(86,17)
  1. 解决函数参数过多方案
  2. // 使用... rest参数来解决参数过多的问题,也叫归内参数/剩余参数/不定参数,将多余的参数放到一个数组中
  3. // ...:用在函数的形参中,就是rest,将剩余参数放到一个数组中
  4. // ...:用在函数的调用参数中,就是将参数展开
  5. let list = [10,20,30,40];
  6. function getTotal2(... a) {
  7. console.log("a = ",a.reduce((p,c) => p + c ));
  8. }
  9. getTotal2(10,20,30,40,50,60)
  1. 匿名函数,没有函数名的函数,分为一次性函数,可复用函数
  2. // 一次性函数,写完立即调用 IIFE
  3. (function(a,b){console.log(a+b);})(20,30);
  4. // 可复用函数,使用函数表达式
  5. let add = function(a,b){console.log(a+b);}
  6. add(100,300);
  7. // 使用“箭头函数” 简化 “函数表达”
  8. // 胖箭头:=>
  9. // 瘦箭头:->
  10. add = (a,b) => {return a+b};
  11. console.log(add(10,20));
  12. // 只有一行代码时,大括号可以不要
  13. add = (a,b) => a+b;
  14. console.log(add(10,20));
  15. // 只有一个参数时,花括号可以不要
  16. add = a => a+10;
  17. console.log(add(10));
  18. // 没有参数时,一定要花括号
  19. add = () => 20+10;
  20. console.log(add());

9.全局作用域:位于函数外
函数作用域:位于函数内
函数内的变量先从函数内部查询,有就直接方位
没有,就向一个作用域查询,一级一级往上,直到全局
作用域链,查询变量用的

10.闭包:条件:1.父子函数 2.自由变量
a 从外部传入参数,为自由变量
b,c 为函数内变量,为自有变量

  1. 函数闭包
  2. function par(a){
  3. function f(b){
  4. let c = 5;
  5. return a + b + c;
  6. }
  7. return f;
  8. }
  9. //调用函数,产生闭包
  10. console.log(par(3));
  11. const f1 = par(5);//a = 5
  12. console.log(f1);
  13. console.log(f1(8));//b = 8

this 表示当前对象
模板字符串:``,使用反引号包裹,可换行,变量使用:${},引用

  1. // 标签函数:使用“模板字符串”为参数的函数
  2. total`数量:${10} 单价:${90}`;
  3. function total(strings, num, price) {
  4. console.log(strings);
  5. console.log(num, price);
  6. let res = `${strings[0]}${10}${strings[1]}${90},总金额:${num * price} 元`;
  7. console.log(res);
  8. }
  9. // 模板字符串参数中的占位符比较多,可以用rest进行归并
  10. sum`计算多个数之和: ${5}${6}${7}${8}${9}`;
  11. function sum(strings, ...args){
  12. console.log(`${args.join()}之和是${args.reduce((p,c) => p+c)}`);
  13. }
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议