JavaScript-基础

JavaScript

基础

  1. JavaScript中常用的输入输出语句有哪些?

    先来说说输入语句,输入语句能够帮助用户通过键盘、鼠标等输入设备与计算机进行交互。输入语句有:prompt(‘’)``//注意:无论输入什么,通过该语句传到计算机内部就只是字符串。

    然后是输出语句,计算机处理完我们输入的语句后,会根据输出语句返回结果给用户。输出语句有:alert()//会在打开浏览器后弹出警告对话框,优先级要比其他的输出语句高console.log()//方便用程序员调试,在控制台显示结果,document.write()//会将结果输出到body

  2. 何为字面量?

    字面量是用于描述计算机中的事/物。字面量根据不同的类型,可以分为数字字面量100,字符串字面量‘a’,对象字面量{},数组字面量[]等 。

  3. 什么是变量,我们该如何使用变量?

    变量就是一个存储数据的容器,也可以简单理解为盒子。既然是盒子(变量)包裹数据,那是不是得要一个盒子?我们选择用let关键字来和计算机说要一个盒子。由于之后我们可能会要更多的盒子装更多的数据,所以就得考虑给盒子取一个名字,帮助我们分辨不同盒子的用处。变量的声明就应该要有let 、变量名。变量的声明如下:let 变量名。当我们将数据装入盒子后,这个盒子就完成了它的使命。我们将变量(盒子)声明并赋值(赋值的过程=装数据的过程,赋值用等号,左边变量,右边值)称之为变量初始化。变量的初始化如下:let 变量名=值

    值得注意的是:一个变量不能装太多的数据,它只能装一个。例如:申请了一个名为name的变量,name里面装的是李明。则它的语法为let name=‘李明’。要是还想装张三,是不行的。只能把李明这个数据撤掉,才能装上张三。也就是得修改变量中的数据,语法为name='张三',注意修改变量中的值时,不能对同一变量再次声明,一个变量只能声明一次。原因是已经向计算机申请了名为name的变量,使用let关键字就会再申请一次同样名为name的变量。原来已经存在name,新增一个name必定会报错。

    但是呢,只要你申请的变量与原先申请的变量名字不同,则可以再次使用let.我们还可以使用let ,同时声明多个变量。例如:let name ,age (这样的写法不推荐,虽然写法简单,但不易阅读).推荐声明一个变量就用一次let ,例如:let name

    let age

  4. 变量名的规则是什么?

    第一:它肯定不能是关键字;(变量名与原先的计算机存在的名字相同会起冲突)

    第二:它是可以由下划线、字母、数字、$组成,且数字不能开头;(JavaScript起源在国外,最初设计时受到Java等语言得影响,他们的文字都是英文,所以取个名字也肯定含有字母;不以数字开头是为了避免与数值表达式混淆,例如:let 123abc=5 会被误解为数字123与标识符abc相乘的表达式,从而导致语法错误。 限制变量名的组成,可以避免出现一些不合法或不符合预期的变量名)

    第三:它严格区分大小写。

    规范:起名要由意义;遵循小驼峰命名法(第一个单词首字母小写,其余单词首字母大写)。

  5. 什么是常量,它是如何声明的?

    常量指的是不能改变的量。常量实际也是个盒子,只不过盒子与装入的数据绑定在一起了,不得更改盒子中的数据。这就使得它一旦声明就必须赋值,一定要明确常量里头装的是啥,不然这个常量与变量没有区别。

    使用const关键字来声明常量,必须要赋值。它的语法如下:const 常量名=值。切记赋值后,千万别再重新赋值了。错误示范:const p=3.14

    p=3.1415 //会直接报错的`

  6. 何为数组,数组与变量有何区别、共同点,数组中的元素如何访问,如何获取数组长度?

    数组能够存放任意类型的数据,相当于装鸡蛋的那个蛋托,不过得为这个蛋托上的每一个坑编号(数组中的每个元素是有序号的,它按顺序存储)。

    数组的声明也是得写数组名、用let关键字申请存储空间。例如:let 数组名=[元素0,元素1...].

    它与变量的区别在于它能够存储多个数据;每个数据都是有序的。

    共同点:就是它们俩都是装数据的容器。

    访问数组元素:let 数组名=[元素0,元素1...],//假设想要访问第一个元素,我们可以通过下标取数据,由于下标是从0开始的标记的,所以第一个元素的下标就是0,可以这样写:数组名[0]

    想要获取数组的长度:可以通过数组名.length获取

  7. 为什么要对数据进行分类?数据类型有哪些?基本数据类型有哪些?

    图书馆存储着不同类型的书籍,为了方便管理,图书馆工作人员将书进行分类。让读者能够一目了然能够找到他所想找的书籍,省去不少时间。所以说我们对数据进行分类,主要是为了省事、省时、方便管理,还能充分高效的利用内存。

    数据类型分别有简单数据类型和复杂数据类型。

    简单数据类型也叫基本数据类型,主要分为

    number(数字类型,正数、负数、正数、小数。另外需要注意的是NaN,它代表一个计算错误,是一个不正确的或者一个未定义的数学操作所得到的结果,只要是遇上NaN就会成为NaN);

    string(字符串类型,由单引号’'、双引号""或反引号`包裹的数据都叫字符串,推荐用单引号(原因是社区中太多人用单引号了,少数服从多数。而且用单引号方便嵌套,如果字符串中包含引号,使用单引号作为字符串的引号可以方便地在字符串中嵌套双引号,或者反之。这样可以避免在字符串中使用转义符号,使代码更简洁。例如:var message = ‘He said, “Hello!”’;

    var message2 = “He said, ‘Hello!’”;第一个更好些))

    字符串拼接:字符串拼接主要用于字符串与变量拼接。拼接两个字符串用+号。加号在数字中表示加法,如1+1;在字符中表示拼接,如’我‘+’爱中国‘。

    模板字符串:要是只有’+‘能拼接变量和字符串会变得比较麻烦。就比如:document.write(‘你好,我是’+name+‘来自’+country)

    模板字符串能够帮助我们减轻一点麻烦。document.write( ` 你好,我是 n a m e 来自 {name}来自 name来自{country}`),遇到变量用${}包住变量,记得加上反引号``.

    boolean(布尔类型,只含true、false两个值。常用于判断对错)

    undefined(未定义类型,也就是没有赋值的情况。一般情况下,都是根据赋值后的结果来判断数据类型,所以没有赋值时就是undefined类型)

    该类型的使用场景:开发时经常声明一个变量,等待传送过来的数据。如果我们不知道这个数据是否传过来,可以直接检查该变量是不是undefined类型,如果是就没传,不是则传了。

    null(空类型,与undefined很像,null只是放空值进去变量,赋值了,代表无、空或值未知的特殊值;而undefined只是声明没有赋值。)

    null开发中的使用场景:将来有个变量存了一个对象,但是该对象还没被创建好,先给个null。

  8. 如何进行数据类型转换?

    数据类型为什么要转换?为啥不一开始就把他设置为目的类型(即我们想要的类型)?javascript 是弱数据类型,JavaScript也不知道变量属于哪种数据类型,只有赋值了才清楚。再有就是原先设计时的坑:使用表单、prompt获取到的数据默认是字符串类型的,不能直接进行简单的加减运算。

    有两种类型转换方式:隐式转换、显示转换。隐式转换不用得着我们可以转换,这个是由系统帮我们自动转换。

    隐式转换的规则:+号两边有一个是字符串就会把另一个转为字符串。

    遇到-*/%符号时就会将字符串转数字 。也要注意布尔值在需要时会转换为数字(true为1,false为0)。

    注意:当+号作为正号是可以转成数字类型。

    显示转换:这个是由人为来转数据类型的,我们想转什么类型得自己来。

    显示转换规则:转换成数字型:Number(数据),若是字符串内容里含有非数字,则转换失败时结果为NaN,即不是一个数字,NaN也属于number类型的数据,代表非数字。

    转整数:用parseInt(数据)

    转成小数:用parseFloat(数据)

    转成字符串型:String(数据)

    转成字符串型还有另一种形式:变量.toString(进制) 。

    想知道数据的类型可以使用typeof(x)函数,运算符写法:typeof x

  9. 有哪些运算符类型?

    **算术运算符:±*/%。**与数学运算是一样的,分别表示加减乘除。除了%,表示求余(取模)。优先级越高,则会优先执行,所以会先乘除取余,后加减,要是有括号优先算括号内的。

    逻辑运算符:&&、 ||、 ! 。&&逻辑与 表示一假全假,指的是里面有一个条件不满足,所有条件都会不满足。就比如一架飞机,有一个零件出问题,那么整个飞机的零件都是没用的。特点:符号两边都为true
    结果才为true 。举例:1>2 && 2>1 结果为假,因为1>2是错误的。

    ||逻辑或 表示一真全真,只要满足其中一个条件,那么剩余条件都不用管了,全符合条件了。就比如说 点外卖付款时,只要你有其中一个付款方式就能够支付!特点:符号两边有一个true就为true。举例:1<2 ||1>2 结果为真,1<2是正确的。

    !中文名为逻辑非 表示否定。真就是假,假就是真。

    比较运算符:>= ,>,<=,<,==,===,!==。>= ,>,<=,<这四个比较我们都很熟悉,就是大于等于、大于、小于等于、小于。

    主要要注意的是==、===、!==:判断左右两边的值是否相等;===:判断左右两边的类型和值是否都相等(推荐用它,而不是==);!==:判断左右两边是否不全等。比较的结果只会是boolean的,会得到true或false。

    赋值运算符:=、+=、-=、*=、/=、%=;。=是将等号右边的值赋给左边,要求左边必须时一个容器。其他的赋值运算符,如:+=是先把左右两边的数字相加,加法完成后,将加法后的结果赋值给左边的容器。-=、*=、/=、%=分别表示先算减法再赋值、先算乘法再赋值、先算除法再赋值、先取余再赋值。

    三元运算符:条件表达式?表达式1:表达式2

    一元运算符:++(自增作用就是让变量的值+1),–(自减作用就是让变量的值-1)。常用于计数。

    分为前置自增、后置自增,前置自增就是将自增符号++放在变量(一般该变量类型是数字类型)的前边;如:++a后置自增就是将自增符号++放在变量的后面;如:a++.

    前置自增与后置自增的区别:一般运算我们都是习惯从左到右计算,自增符号++在前,表示想要先加再用;就比如说:let a=1

    console.log(++a + 2) //结果为4,在运算中我们先++,后+

    若是自增符号++在后,那么表示想要先用在加。比如:let a=1

    console.log(a++ + 2) //结果为3,在这个运算中我们先不管++,先算+,再++

    注意:前置自增与后置自增没有啥区别。理由是假设变量a分别做前置自增++a、后置自增a++,看清楚它就只有一个操作就是加1,故先加后用、先用后加就在这起不到作用,只有多个运算符与++在一起,它才有作用。一般单独使用时,开发时我们习惯用后置自增a++.

​ 自减符号–与自增符号++用法一致,前置自减就是先减后用;后置自减 就是先用后减。

  1. 运算符之间的优先级是怎样的?

    优先级越高,越早执行。相当于会员等级越高,优先服务。

在这里插入图片描述

  1. JavaScript的注释是怎样的?

    在编程语言中,注释都是不会执行的。它是为了方便程序员阅读代码。

    提高代码的可读性。

    JavaScript中的单行注释(一个//只能注释一行的内容):使用//

    多行注释(一个/* */能注释多行的内容):使用/* */

  2. JavaScript的注释是怎样的?

    在编程语言中,注释都是不会执行的。它是为了方便程序员阅读代码。

    提高代码的可读性。

    JavaScript中的单行注释(一个//只能注释一行的内容):使用//

    多行注释(一个/* */能注释多行的内容):使用/* */

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

茶语1024

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

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

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

打赏作者

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

抵扣说明:

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

余额充值