JS的组成和变量
JavaScript中的变量和数据类型
Js做客户端语言
按照相关的Js语法,去操作页面中的元素,有时还要操作浏览器里面的一些功能
Js由三部分组成:
ECMAScript
(ES
):描述了该语言的语法和基本对象DOM
(Document Object Model
):文档对象模型,描述处理网页内容的方法和接口,通过一些Js
的属性和方法,用来操作页面中的DOM
元素BOM
(Browser Object Model
):浏览器对象模型,描述与浏览器进行交互的方法和接口,用来操作浏览器的。
Js中的变量 Variable
JS中数据分为两大类:一是基本数据类型:Undefined
、Null
、Boolean
、Number
、String
、Symbol
,二是复杂数据类型:Object
,Object
本质上是由一组无序的名子对组成的。
变量:可变的量,在编程语言中,变量其实就是一个名字,用来存储和代表不同值的东西。
// ES3
var a = 123;
// ES6
let b = 100;
b = 200 //报错
const c = 1000;
// 创建函数也相当于在创建变量
function fn() {}
// 创建类也相当于创建变量
class A{}
// ES6的模块岛屿也可以创建变量
import a from './a.js'
// Symbol创建唯一值
let n = Symbol(100)
let m = Symbol(100)
总结:
- 用
var
声明的变量,可以重复声明,后声明的会覆盖前面的 - 用
let
声明的变量具有作用域,在同一作用域下不可重复声明变量,但是可以修改变量的值,例如let a = 1;
,不能再次声明a
,let a = 2;
会报错,提示:Uncaught SyntaxError: Identifier 'a' has already been declared
- 用
const
声明的变量为常量,不能修改该变量的值,但是像Object
这样的复杂数据类型,在内存中存放的是一个指向该对象的指针,也就是说,用const
声明的对象仍然可以修改该对象的值,但不可再次声明该对象
JS中的数据类型
基本数据类型
数字
Number
(常规数字和NaN
)字符串
String
布尔值
Boolean
空指针
Null
未定义
Undefined
唯一值(独一无二的值)
Symbol
引用数据类型
Object
对象类型{}
普通对象[]
数组对象RegExp
正则对象Function
函数数据类型Math
数学函数对象Date
日期对象
数据类型应用场景:
当我们通过Ajax
请求拿到数据之前,先在本地初始化数据,一般都会先给一个默认的数据,请求数据后再把数据放入到我们定义好的数据结构里面,比如:
var data = {
count: 0,
isActive: true,
goods: [],
model: null,
message: ''
}
验证数据类型 typeof
操作符
typeof
操作符用于检测给定变量的数据类型。typeof
操作符可以检测的数据类型有:
undefined
boolean
string
number
object
function
var message = 'some string'
console.log(typeof(message) // "string"
var arr = [1,2,3,4]
console.log(typeof(arr) // "object"
console.log(typeof(null) // "object"
在上面的例子中调用 typeof null
会返回"object"
,因为特殊值null
被认为是一个空的对象引用。用typeof
检测一个变量是否是数组并不准确,会返回"object"
JS的组成和变量的更多相关文章
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
[问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...
- js 碎片整理(变量声明,函数作用域)
1.变量声明: 在非严格模式下,函数可以对未声明的变量赋值,而这样赋值的结果就是该变量就会变成全局变量. (function(){ var a = 1; })(); console.log(a) ; ...
- JS怎么动态命名变量名
[摘要]本文是对JS怎么动态命名变量名的讲解,对学习JavaScript编程技术有所帮助,与大家分享. 1.用eval,例子: 1 2 3 4 5 6 7 <script> var Thr ...
- 多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量
多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量,并且数组变量可以直接取到每一个元素var array1 = '<%=yearList =>'; ...
- 在JS中调用JAVA变量
在JS中调用JAVA变量可以,方法是:var JS变量名 = “<%=JAVA变量名 %>”<%中间写java代码,跟在JSP中一样%>在JAVA中 ,无法调用JS变量
- JS 函数作用域及变量提升那些事!
虽然看了多次js函数作用域及变量提升的理论知识,但小编也是一知半解~ 这几天做了几道js小题,对这部分进行了从新的理解,还是有所收获的~ 主要参考书籍: <你不知道的JavaScript(上卷) ...
- 使用javax.script包实现Java设置JS脚本中的变量
下面例子中,我们通过javax.script包ScriptEngine.put()方法设置JS脚本中的变量,JS把所有在线用户输出. package ajava.code.javase; import ...
- js声明引入和变量声明和变量类型、变量
问题: 在网页的发展历程中,发现网页不能对用户的数据进行自动校验,和提供一些特效. 解决: 使用javascript. 作用 可以让网页和用户进行直接简单的交互. 可以让网页制作特效和动画. 声明js ...
- 如何设置 sass 全局变量,js如何使用 sass 变量
关键词:sass全局变量 js引用sass变量 1 如何在样式中使用 scss 的声明的全局变量 假设我们有一个全局的 scss 变量文件/styles/_vars.sass,如下: $red: re ...
- js语法没有任何问题但是就是不走,检查js中命名的变量名,用 service-area错误,改service_area (原)
js语法没有任何问题但是就是不走,检查js中命名的变量名,用 service-area错误,改service_area
随机推荐
- 【学习】006数据交换格式与SpringIOC底层实现
课程目标 XML和JSON Java反射机制 手写SpringIOC 什么是数据交换格式 客户端与服务器常用数据交换格式xml.json.html 数据交换格式用场景 移动端(安卓.IOS)通讯方式采 ...
- CSP-S2019 赛前补题
前言 该打的比赛也打完了,每一场打得并不是很理想,所以就没写赛后总结了.最后再把每一场的比赛补一下,也算给自己一个交代吧. 牛客CSP-S提高组赛前集训营6 考试 100 + 30 + 0 = 130 ...
- js常见的几种设计模式
一.单例模式 单例模式也称作为单子模式,更多的也叫做单体模式.为软件设计中较为简单但是最为常用的一种设计模式. 在JavaScript里,实现单例的方式有很多种,其中最简单的一个方式是使用对象字面量的 ...
- postman 简单使用教程
Postman 安装 Postman 接口测试(Collection) Postman 接口测试(测试用例)Postman 接口测试(变量与参数化)Postman 接口测试(非 UI 运行模式 ...
- 【进阶技术】一篇文章搞掂:OAuth2
一.第一步 1.什么是OAuth2,为什么应该了解 应用程序请求资源所有者进行认证,并接受tokens来访问这些资源应用程序不是以控制资源的“人”的角度去访问资源,而是用许可证举例,备用钥匙,车主主钥 ...
- ruby的next if boolean
next相当于continue
- 数据挖掘与CRM
数据挖掘与CRM 现在的数据挖掘项目多数都是游击战,这边挖一挖那边挖一挖,挖到最后还是一场空,还落了个"忽悠"绰号:回想数据挖掘的一个标准流程,那只是一个数据挖掘类项目的标杆而已, ...
- HTML--JS 获取选择框信息
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Python笔记(十四)_永久存储pickle
pickle模块:将所有的Python对象转换成二进制文件存放 应用场景:编程时最好将大对象(列表.字典.集合等)用pickle写成永久数据包供程序调用,而不是直接写入程序 写入过程:将list转换为 ...
- Activation Functions and Their Derivatives
1. Sigmoid Function: when z=0,g'(z)=0.25 2. tanh Function: when x=0,tanh'(x)=1 3. Relu