zoukankan      html  css  js  c++  java
  • javascript各种专业名词

    刚开始学javascript经常看到各种专业名词,在此整理一下个人的学习笔记:

    直接量

    直接量——就是程序中直接使用的数据值,如:
    88           //数字(String)
    "hello world"    //字符串(Number)
    true        //布尔值(Boobean)
    /[a-z][0-9]/    //正则表达式(RegExp)
    null        //空值(null)
    {x:1,y:2}     //对象(Object)
    [1,2,3,4,5]   //数组(Array)

    标识符(变量名)

    标识符——就是一个名字,用来对变量和函数进行命名,说白了就是变量名,如:
    var str="hello world" //str就是一个标识符
    function sayHi(){ alert("hello world");}   //sayHi就是一个标识符

    保留字与关键字

    关键字——是被js定义过的单词,如:var,function
    保留字——目前还没被js定义单词,但是以后肯能会被js定义使用的单词,也就是很有可能在未来版本的js中会成为关键字的单词。所以不能使用保留字做标识符,如果用了,一旦新版本js发布,那么你之前的程序就会报错了。

    数据类型

    数据类型分为:原始类型、对象类型、null、underfined

    原始类型——包括数字,字符串,布尔值
    对象类型——除了数字,字符串,布尔值,null,underfined之外的都是对象。
    null,underfined分别代表了各自特殊类型的唯一成员。

    变量声明

    变量声明——也就是使用var关键字来声明变量,如果在声明的时候未赋值,则它的初始值就是underfined。

    用var关键字在函数体外声明的变量是全局变量;在函数体内使用var声明的变量则是局部变量,该变量只对该函数可见。

    如果未使用var关键字声明的变量,无论它是否在函数体内声明的,它都是全局变量。

    他们的区别是,使用var关键字声明的变量不能被delete删除,而未使用var声明的变量则是可以删除的。

    var str="使用var声明的变量";
    str2="我未使用var关键字";
    console.log(delete str);        //false
    console.log(delete str2);     //true
    console.log(str);             //使用var声明的变量
    console.log(str2);           //str2 is not defined    

    函数作用域和声明提前

    函数作用域——变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定于的。也就是说函数内声明的所有变量在函数体内始终是可见的。正因如此,使得在函数体内,变量在声明之前已经可用——这个特征被称为“声明提前”。

     1 var scope="global";
     2 function f(){
     3     console.log(scope);  //输出的是"underfined",而不是global
     4     var scope="local";
     5     console.log(scope);     //输出的是"local"
     6 }
     7 f();
     8 console.log(scope);        //输出的是"global"
     9 
    10 //上面的代码等同于:
    11 var scope="global";
    12 function f(){
    13     var scope;            //声明为赋值,初始值就是underfined
    14     console.log(scope);  //输出的是"underfined",而不是global
    15     var scope="local";
    16     console.log(scope);     //输出的是"local"
    17 }
    18 f();
    19 console.log(scope);        //输出的是"global"

     在把代码修改一下,就可以看出声明变量的是时候是否使用var关键字的区别了:

    1 var scope="global";
    2 function f(){
    3     console.log(scope);  //输出的是"global",而不是"underfined"
    4     scope="local";         //未使用var关键字声明的变量是全局变量,在此会把之前的同名的全局变量的值修改了。
    5     console.log(scope);     //输出的是"local",而不是"global"
    6 }
    7 f();
    8 console.log(scope);        //输出的是"local",原来的值被覆盖了
  • 相关阅读:
    如何远程关闭一个ASP.NET Core应用?
    Asp.Net Core 2.x 和 3.x WebAPI 使用 Swagger 时 API Controller 控制器 Action 方法 隐藏 hidden 与 and 分组 group
    Swashbuckle.AspNetCore3.0的二次封装与使用
    微服务日志之.NET Core使用NLog通过Kafka实现日志收集
    细说ASP.NET Core静态文件的缓存方式
    ASP.NET Core中的ActionFilter与DI
    查看.NET Core源代码通过Autofac实现依赖注入到Controller属性
    使用 python set 去重 速度到底是多快呢???
    搜狐视频 登录 md5 加密破解
    python 实现 DES CBC模式加解密
  • 原文地址:https://www.cnblogs.com/xiaomou2014/p/3864363.html
Copyright © 2011-2022 走看看