JavaScript基础语法

JavaScript基础语法

2.1、标识符

所谓标识符,就是指变量、函数、属性的名字,或者函数的参数(凡是可以自己起名字的地方,都叫标识符)。

标识符命名规范(包括函数名,变量等):

必须由字母、数字、下划线、 符 号 组 成 ; 必 须 以 字 母 、 下 划 线 或 者 符号组成; 必须以字母、下划线或者 ;线开始; (不能以数字开头)
命名不能是系统的关键字:比如new ,if,class…
​ 关键字:赋予特殊含义的单词
区分大小写
命名最好用有意义的名称(见名之意)。比如说name,people…
​ 例如:myName、book123 是正确的标识符命名等
驼峰原则: 首字母小写,多个单词组成,从第二个单词的首字母开始都大写; 比如: getNameById();
常量命名: 全部大写,多个单词组成,每个单词之间由下划线分割;

需要注意的是ECMAScript 中的一切,包括变量、函数名和操作符(typeof、instanceof、void等)都是严格区分大小写的。例如:text 和Text 表示两种不同的变量。

2.2、变量

在这里插入图片描述

1、什么是变量?
​ 可以发生改变的量就是变量,变量可以看做是存储数据的容器。比如一个瓶子,它既可以装入酱油、醋;也可以装入茅台和二锅头…

2、变量的命名:
​ 可以给变量起一个简短名称,这个名称就是变量名。比如 x,或者更有描述性的名称,比如 age、name等。变量名对大小写敏感(y 和 Y 是两个不同的变量)且必须以字母或下划线开始。可以通过其名称来引用一个变量,以此显示或改变它的值。

3、变量的声明:
​ 在 JavaScript 中创建变量通常称为“声明”变量,使用关键字 var来声明变量
​ 向变量赋值,使用等号;可以在声明变量时对其赋值,也可以先声明后赋值。
​ 可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可

​ 声明一个变量count:var count;
​ 声明一个变量username:var username;

​ 在以上声明之后,变量并没有值,仅仅只是变量声明,不过可以在声明它们时向变量赋值,”=”是赋值符号,变量名在赋值符号符号的左边,而需要向变量赋的值在赋值符号的右侧。
var count = 5; var username= "Volvo"; -->变量声明并赋值
​ 也可以先声明后赋值。
var count ; x=100;
var username; username = “zhangsan”;
​ 注释:在为变量赋文本值时,请为该值加引号(单引号或双引号都可以)。

​ 如果所赋值的变量还未进行过声明,该变量会自动声明。
​ 这些语句:
x = 5; carname = "Volvo";
​ 与这些语句的效果相同:
var x = 5; var carname = "Volvo";
​ 如果再次声明了 JavaScript 变量,该变量也不会丢失其原始值。
var x = 5; var x;
​ 在以上语句执行后,变量 x 的值仍然是 5。在重新声明该变量时,x 的值不会被重置或清除。
​ 但是如果是在下面这种情况下,JavaScript 变量的值会改变
var x = 5; var x = 7;
​ 此时页面输出的值为7。

​ JavaScript也允许一次定义多个变量:
var a,b,v;

​ 还可以在定义变量的同时给变量赋初始值:
var a=12,b,c=34;

​ 如果一个变量没有赋值,它的值是undefined(未定义)。

​ 温馨提示:
​ 在一个HTML文档使用script标签嵌入多个JS语句的时候,这几个语句之间是相通的,或者说是有关联的。

4、变量的简单使用:

1、小明今年20岁,小胡比小明大15岁,请问小胡今年多大?

在这里插入图片描述

2、在淘宝网购物,一件衣服55.4元,如果买4件衣服,共花多少钱?

在这里插入图片描述

2.3、关键字、保留字

ECMA-262 描述了一组具有特定用途的关键字。这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符。以下就是ECMAScript的全部关键字。

关键字:

breakdoinstanceoftypeof
caseelsenewvar
catchfinallyreturnvoid
continueforswitchwhile
debuggerfunctionthiswith
defaultifthrowdelete
intry

保留字:

ECMA-262 还描述了另外一组不能用作标识符的保留字。尽管保留字在这门语言中还没有任何特定的用途。但它们有可能在将来被用作关键字。

abstractenumintshort
booleanexportinterfacestatic
byteextendslongsuper
charfinalnativesynchronized
classfloatpackagethrows
constgotoprivatetransient
debuggerimplementsprotectedvolatile
doubleimportpublic

2.4、数据类型

在这里插入图片描述

JavaScript数据类型分为以下几种:
字符串(String)、
数值(Number)、
布尔(Boolean)、
数组(Array)、
对象(Object)、
空(Null)、
未定义(Undefined)。

2.4.1、字符串(String)

​ 字符串是存储字符(比如 “Bill Gates”)的变量。
字符串可以是引号中的任意文本。您可以使用单引号或双引号;
​ 变量字符串:如:var text=“HTML5视频教程”
​ 可以使用"+"进行字符串的连接。
注:字符串类型可以和任何类型做+运算;

​ 在 JavaScript 中,字符串使用单引号或者双引号来起始或者结束。那么如何输出单引号或者双引号呢?就要用到转义字符
​ JavaScript中常用的转义字符

​ 换行符:\n 回车符:\r
​ 反斜杠: \\双引号: \"
​ 单引号:\’

​ 转义字符非常多,这里仅仅介绍几种常用的

2.4.2、数值(Number)

​ JavaScript 只有一种数值类型。数值可以带小数点,也可以不带。

​ 极大或极小的数字可以通过科学(指数)计数法来书写:3e4

​ 数值可以通过运算符进行计算。
​ 浮点数值的最高精度是16位小数,但是在进行算术计算时其精度远远不如整数。例如,0.1加0.2的结果不是0.3, 而是0.30000000000000004。这个舍入误差会导致无法测试特定的浮点数值。
​ 数字可以写成十进制、八进制、十六进制。
​ 八进制在js中表示是第一位一定要是0,后面就是八进制字数序列(0~7)
​ 十六进制字面量前两位必须是0x,后面跟十六进制数字(09及AF)。字母A~F不区分大小写。

温馨提示:
​ 科学(指数)计数法、八进制、十六进制表示的数字在输出时统统会转换成十进制。

2.4.3、布尔(Boolean)

​ 布尔(逻辑)只能有两个值:true 或 false。
​ 将各种类型的值转化成Boolean类型的规则如下:
​ Number:任意非0的数值为true,0值和NaN为"false"。
​ String:所有的非空字符串转化为 true;""(空字符串)转化成false
​ Object的任何非空对象都会转化为 true;
​ 在javascript中,只要逻辑表达式不返回undefined不返回null,就都是真的。

​ 注:通常和流程控制语句结合使用

2.4.4、数组(Array)

​ 使用关键字创建或[]

​ 创建数组的方式:
​ ​ var 数组名=[数组值…值N];
​ ​ var 数组名= new Array(值1…值N);
​ ​ var 数组名= new Array();

​ 可以通过数组的下标来访问数组的元素。
​ 数组元素的顺序从0开始
​ ​ 数组名[0]=值;
​ ​ 数组名[1]=值;
​ ​ …

<!doctype html>
<html>
    <head>
        <title>页面标题</title>
        <meta charset="utf-8">
    </head>

    <body>
        <script>
            /**
                Java数组的创建方式:
                    数组类型 数组名[] = new 数据类型[长度];  int arr[] = new int[5];
                    数组类型 数组名[] = {值1,值2....}
                Java数组的特点:
                    Java数组只能存储一种数据类型
                    定义长度为多少只能存储多少,如果长度存储长度,回爆: 数组下标越界异常
            */

            /**
                JavaScript数组的创建方式:
                    1. 构造函数创建
                        var 数组名 = new Array();       -- 得到一个空数组
                        var 数组名 = new Array(数组);   -- 创建指定长度的数组
                        var 数组名 = new Array(值1,值2,值3...)   创建数组并赋予值

                    2. 快捷创建
                        var 数组名 = [];
                        var 数组名 = [值1,值2,值3....];

                JavaScript数组的属性:
                    length属性  用来获取数组的长度

                JavaScript数组的特点:
                    JS数组可以存储任意数据类型
                    JS数组自动扩容,不是固定长度,类似于Java里面ArrayList

                扩展:
                    Java获取数组长度是用length属性还是length()?     length属性
                    Java获取字符串长度是用length属性还是length()?   length()

                注意事项:
                    当JS变量只有声明没有赋值的时候,去调用,那么undefined
                    当JS根本没有这个变量的时候,去调用,那么报错 arr is not defined
            */
            var arr1 = new Array();
            document.write("数组1的长度为:"+arr1.length+"<br>");

            var arr2 = new Array(5);
            document.write("数组2的长度为:"+arr2.length+"<br>");

            //给数组存储数据: 通过下标来存储数据
            //语法: 数组名[下标] = 值;
            arr2[0] = 10;
            arr2[1] = 20;
            arr2[2] = 30;
            arr2[3] = 40;
            arr2[4] = 50;
            arr2[10] = 100; //在Java里面这么写肯定报错

            //调用数组里面的值
            //语法: 数组名[下标]
            document.write("下标1的值是:"+arr2[1]+"<br>");
            document.write("下标20的值是:"+arr2[20]+"<br>");
            document.write("数组2的长度为:"+arr2.length+"<br>");

            var arr3 = new Array(5,"Hello",true,44.22);
            document.write("数组3的长度为:"+arr3.length+"<br>");

            var arr4 = []; //创建一个空数组  类似于 new Array();
            var arr5 = [1,3,5,7]; //创建数组并赋值
            var arr6 = [7];
            document.write("数组6的长度为:"+arr6.length+"<br>");
        </script>
    </body>
</html>

2.4.5、对象类型

​ 对象由花括号定义。对象有属性和方法组成
​ 在括号内部,无论是对象的属性还是方法都是以键和值对的形式 (key: value) 来定义。
​ 多个属性或方法由逗号分隔
例如:

var person1 = {
    id:1001,
    name:"张三",
    age:12,
    eat:function(){
        alert("吃饭的行为");
    },
    sleep:function(){
        alert("睡觉的行为");
    }
}

​ 在javascript中,所有的对象都继承自Object对象。
​ 对象没有赋值的属性,该属性的值为undefined。
​ 对象的方法是函数,后面会详解;

2.4.6、空(Null)

​ Null也是一个只有一个得数据类型,它的值就是null,任何变量只要给其赋值为null的话这个变量的数据类型就是Null类型。
可以通过将变量的值设置为 null 来清空变量

2.4.7、未定义(Undefined)

​ 这个值表示变量不含有值或未声明。
​ 这是一个很有意思的数据类型,因为它的值只有一个,那就是undefined。
​ 在声明变量时如果没有将变量赋值的话这个变量也是属于Undefined类型的。。
​ 如果一个变量没有声明就直接去访问解释器会报错误信息,但是这样的变量如果使用typeof返回的结果也是"undefined"。

Null和Undefined的区别:
​ Null 已定义,并初始化为null;
​ Undefined:未定义,或者未初始化 。

2.4.8、数据类型归总

原始数据类型:

在这里插入图片描述

对象类型:

在这里插入图片描述

2.5、typeof运算符

typeof运算符可以查询数据类型
其返回可能值有:undefined,boolean,number,string、object以及function.

可以使用typeof(变量名)查询数据类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
JavaScript基础语法包括数据类型、运算符、选择结构和循环结构。在JavaScript中,所有的类型都是用var关键字来修饰,但实际中还是有类型区分的。常见的数据类型包括字符串、数字、布尔值、对象和数组等。 运算符用于进行数学运算和逻辑判断。常见的运算符包括加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)、取余运算符(%)等。逻辑运算符包括与运算符(&&)、或运算符(||)、非运算符(!)等。 选择结构用于根据条件执行不同的代码块。常见的选择结构有if语句、switch语句。if语句根据条件是否为真来执行相应的代码块,switch语句根据表达式的值来选择执行的代码块。 循环结构用于重复执行一段代码。常见的循环结构有for循环、while循环和do-while循环。for循环在指定条件为真的情况下重复执行代码块,while循环在条件为真的情况下重复执行代码块,do-while循环先执行一次代码块,然后在条件为真的情况下重复执行代码块。 举个例子,下面是一段JavaScript代码: ```javascript <script> var a = 10; var b = 5; console.log(a > b && b > a); console.log(a > b || b > a); </script> ``` 在这段代码中,我们定义了两个变量a和b,并使用console.log()方法分别输出了两个逻辑表达式的结果。第一行代码中,a > b && b > a的结果为false,因为a不大于b且b不大于a。第二行代码中,a > b || b > a的结果为true,因为a不大于b或b不大于a至少有一个条件成立。 这就是JavaScript基础语法的一部分,包括数据类型、运算符、选择结构和循环结构。通过掌握这些基础知识,我们可以开始编写JavaScript程序。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【JavaScript】基本语法大全](https://blog.csdn.net/weixin_64916311/article/details/129136028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JTZ001

你的鼓励是我创作的最大动力?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值