JavaScript初级知识(2)

发布时间:2024年01月09日

1. 变量的概述

1.1 字面量和变量的使用

????????字面量也叫直接量----可以直接使用的量

????????常用:

????????????????字符串 以“ ” 或 ‘ ’包裹起来的内容

????????????????数值 :1, 2, 1.1, -2,0等

????????????????其它 true false null /g /i /m

????????注意一下字符串中的内容会原样输出 比如:alert('5+3');

1.2 什么是变量?

????????变量就像是一个装东西的盒子,变量是用于存放数据的 我们通过变量名获取数据,甚至数据可以修改。

????????定义:变化的量,可以通过一些符号表示一些数据,这个符号就是变量(初始化 再次修改的量)

? ? ? ? 例如:100? ? "hello"? ? true

1.3 变量的使用

1.3.1 声明变量

var age; //声明一个名称为age的变量

? var是一个JS关键字,用来声明变量(variable:[ 'v??ri?bl ]变量的意思)。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管

? age是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间

1.3.2 赋值

age = 10; //给age这个变量赋值为10
  • = 用来把右边的值赋给左边的变量空间中此处代表赋值的意思
  • 变量值是程序员保存到变量空间里的值

1.3.3 变量的初始化

????????变量声明的两种方法、

????????????????1、先声明,再赋值

????????????????2、声明的同时,即赋值

? ??????声明一个变量并赋值,我们称之为变量初始化

????var age = 18 ; //声明变量同时赋值为18

1.4?变量语法扩展

1.4.1?更新(修改)变量的值

var age =18;
age = 81;	//最后的结果就是81因为18被覆盖掉了

一个变量被重新复赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。

1.4.2?同时声明多个变量

var age = 10, name ='7';

同时声明多个变量时,只需要写一个var,多个变量名之间使用英文逗号隔开。

1.4.3?声明变量特殊情况

情况

说明

结果

var age ; console.log (age);

只声明不赋值

undefined

console.log(age)

不声明不赋值直接使用

报错

age = 10; console.log (age);

不声明只赋值

10

1.5?变量命名规范

  • 由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号($)组成。
  • 严格区分大小写。? ? ? ? ? ? ? ? ? ? ? ? ? ?var app;和var App; 是两个变量
  • 不能以数字开头。? ? ? ? ? ? ? ? ? ? ? ? ? 18age是错误的
  • 不能是关键字、保留字。? ? ? ? ? ? ? ?例如:var、for、while
  • 变量名必须有意义。? ? ? ? ? ? ? ? ? ? ? MMD BBD nl — age
  • 遵守驼峰命名法(小驼峰)。? ? ? ?首字母小写,后面单词的首字母需要大写。

2. 数据类型

2.1数据类型的分类

????????简单(基本)数据类型 (Number,String,Boolean,Undefined,Null)

????????复杂(特殊)数据类型 (object)--引用数据类型

2.2简单数据类型(基本数据类型)

2.2.1数字型 Number

var a=12  //整数
var a=3.12 //小数

????????JavaScript 数字类型既可以用来保存整数值,也可以保存小数(浮点数)。

????????包装对象,不需要转对象,数据可以直接使用Number的属性和方法。

2.2.1.1 数字型进制
toString(2)/二进制

选择进制,最常见的进制有二进制、八进制、十进制、十六进制,在JS中八进制前面加0,十六进制前面加 0x;

2.2.1.2 数字型范围
     console.log(Number.MAX_VALUE);
     console.log(Number.MIN_VALUE);
  • 最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
  • 最小值:Number.MIN_VALUE,这个值为:5e-324
2.2.1.3?数字型三个特殊值
  • Infinity ,代表无穷大,大于任何数值
  • -Infinity ,代表无穷小,小于任何数值
  • NaN ,Not a number,代表一个非数值 这个值是一个number类型
2.2.1.4 isNaN()

????????Number.isNaN( ) 与 isNaN()全局方法有区别:

????????????????1.Number.isNaN(参数 ) 参数是 不会自行将参数转换成数字,只有在参数是值为 NaN 的数字时,才会返回 true。

????????????????2.isNaN(参数) 参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。

????????其实并不能像它的描述中所写的那样,数字值返回 false,其他返回 true。

????????实际上 它是判断一个值能否被 Number() 合法地转化成数字。

2.2.2字符串型 String

????????字符串型可以是引号中的任意文本,其语法为 双引号 " " 和 单引号' '

var a="hello"

????????因为 HTML 标签里面的属性使用的是双引号,JS 这里我们更推荐使用单引号。

2.2.2.1?字符串引号嵌套

????????JS 可以用单引号嵌套双引号 ,或者用双引号嵌套单引号 (外双内单,外单内双)

var a="abc'd'e";
var b='abc"d"e';
2.2.2.2?字符串转义符

转义符

解释说明

\n

换行符,n 是 newline 的意思

\ \

斜杠 \

\'

' 单 引 号

\"

”双引号

\t

tab 缩 进

\b

空格 ,b 是 blank 的意思

2.2.2.3?字符串长度

????????字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的 length 属性可以获取整个字符串的长度。

var c='hello';
console.log(c.length);
2.2.2.4?字符串拼接
console.log('hello'+' '+'world');//输出结果为:hello world
  • 多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串
  • 拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串
2.2.2.5?字符串拼接加强
console.log('亲爱的你们' + 18); // 只要有字符就会相连
var age = 18;
// console.log(亲爱的你们 age 岁 啦 '); // 这样不行的
console.log('亲爱的你们 ' + age);// 亲爱的你们18
 console.log('亲爱的你们' + age?+ '岁啦');// 亲爱的你们18岁啦
  • 我们经常会将字符串和变量来拼接,因为变量可以很方便地修改里面的值
  • 变量是不能添加引号的,因为加引号的变量会变成字符串
  • 如果变量两侧都有字符串拼接,口诀“引引加加 ”,删掉数字,变量写加中间

2.2.3?布尔型 Boolean

  • 布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0。
  • 布尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)。
console.log(true?+?1);	//输出结果为:?2
console.log(false + 1); //?输出结果为:1

2.2.4 Undefined 和 Null

一个声明变量给 null 值,里面存的值为空(学习对象时,我们继续研究null)

var vari = null;
 console.log('你好' + vari);  // 你好null
  console.log(11?+ vari);// 11
console.log(true + vari);// 1

一个声明后没有被赋值的变量会有一个默认值 undefined ( 如果进行相连或者相加时,注意结果)

var variable; 
console.log(variable);// undefined
console.log('你好' + variable);// 你好undefined
console.log(11 + variable);// NaN
console.log(true + variable);//NaN

文章来源:https://blog.csdn.net/m0_75210816/article/details/135394458
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。