JS的基本概念和数据类型

什么是 JavaScript 语言

JavaScript 是一种轻量级的脚本语言。所谓脚本语言,指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的脚本本身不提供任何的 API,都要靠宿主环境(host)提供,所以 JavaScript 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API

JavaScript 的核心语法部分相当精简,只包括两个部分:基本的语法构造(比如操作符、控制结构、语句)和标准库(就是一系列具有各种功能的对象比如ArrayDateMath等)。除此之外,各种宿主环境提供额外的 API(即只能在该环境使用的接口),以便 JavaScript 调用。以浏览器为例,它提供的额外 API 可以分成三大类。

  • 浏览器控制类:操作浏览器
  • DOM 类:操作网页的各种元素
  • Web 类:实现互联网的各种功能

JavaScript 与 Java 的关系

JavaScript 和 Java 的关系。它们是两种不一样的语言,但是彼此存在联系。JavaScript 的基本语法和对象体系,是模仿 Java 而设计的。但是,JavaScript 没有采用 Java 的静态类型。”。JavaScript 语言的函数是一种独立的数据类型,以及采用基于原型对象(prototype)的继承链。这是它与 Java 语法最大的两点区别。另外,Java 语言需要编译,而 JavaScript 语言则是运行时由解释器直接执行。

基本概念

语句

javascript以行为单位执行

语句是为了完成某种任务而进行的操作,如
var a = 1 + 3;

表达式

 6+ 3就叫做表达式

语句与表达式的区别

前者主要为了进行某种操作,一般不需要返回值

后者是为了得到返回值,一定会返回一个值

变量

变量是对值的引用,使用变量等同于引用一个值
var a = 1
实际步骤是
var a;
a= 1;

变量提升

由于js引擎的工作方式,先解析代码获取所有被声明的变量,然后再一行一行的执行,这样就造成了,所有变量的声明语句,都会被提升到代码的头部,这就是变量提升

标识符

变量名就是最常见的标识符,规则如:

第一个字符,可以是任意Unicode字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。

第二个字符及后面的字符,除了Unicode字母、美元符号和下划线,还可以用数字0-9。

注意点

  • JavaScript 的变量名区分大小写,A和a是两个不同的变量。
  • 变量的声明和赋值,是分开的两个步骤, 如果只是声明变量而没有赋值,则该变量的值是undefined。undefined是一个特殊的值,表示“无定义”。
  • 可以在同一条var命令中声明多个变量
  • JavaScript 是一种动态类型语言,也就是说,变量的类型没有限制,变量可以随时更改类型
  • 单行注释 //,多行 /* */ 之间
  • 三元运算符? :,可以用于逻辑判断。(条件) ? 表达式1 : 表达式2上面代码中,如果“条件”为true,则返回“表达式1”的值,否则返回“表达式2”的值。

数据类型

概述

  • JavaScript 语言的每一个值,都属于某一种数据类型,共有六种.
  • 数值(number):整数和小数(比如1和3.14)
  • 字符串(string):字符组成的文本(比如"Hello World")
  • 布尔值(boolean):true(真)和false(假)两个特定值
  • undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
  • null:表示无值,即此处的值就是“无”的状态。
  • 对象(object):各种值组成的集合

其中数值,字符串,布尔值成为原始类型的值,undefined和null一般被视为特殊值,对象则为合成类型的值,往往由多个原始类型的值合成

typeof运算符

JavaScript有三种方法,可以确定一个值到底是什么类型。

  • typeof运算符
  • instanceof运算符
  • Object.prototype.toString方法

typeof运算符可以返回一个值的数据类型,可能有以下结果:

(1)原始类型

数值、字符串、布尔值分别返回number、string、boolean。

(2)函数

函数返回function,虽然函数属于对象,但是typeof内部是将函数是返回function

(3)undefined

undefined返回undefined

(4)其他返回object

数组的类型也是object,这表示在JavaScript内部,数组本质上只是一种特殊的对象。
可以用instanceof运算符进行区分

布尔值

布尔值:true/false

下列运算符会返回布尔值:

  • 二元逻辑运算符: &&(and), ||(or)
  • 前置逻辑运算符: !(not)
  • 相等运算符: ===, !==, !=
  • 比较运算符: > ,>= ,< ,<=

下面这些值如果转化为布尔值则为false,其他都为true

  • undefined
  • null
  • 0
  • NaN
  • '' ''/' ' (空字符串)

空数组( [] )和空对象( {} )转化为布尔值为true

猜你喜欢

转载自www.cnblogs.com/hjy-21/p/12301952.html