• JS学习笔记


    Web前端有三层:

    • HTML:从语义的角度,描述页面结构

    • CSS:从审美的角度,描述样式(美化页面)

    • JavaScript:从交互的角度,描述行为(提升用户体验)

    JavaScript基础分为三个部分:

    • ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。

    • DOM:文档对象模型,操作网页上的元素的API。比如让盒子移动、变色、轮播图等。

    • BOM:浏览器对象模型,操作浏览器部分功能的API。比如让浏览器自动滚动。

    1.JS变量

    变量的定义和赋值

    var a = 10;
    var b = "hello",  c= "world"

    var是英语“variant”变量的缩写。后面要加一个空格,空格后面的东西就是“变量名”:

    • 定义变量:var就是一个关键字,用来定义变量。所谓关键字,就是有特殊功能的小词语。关键字后面一定要有空格隔开。

    • 变量的赋值:等号表示赋值,将等号右边的值,赋给左边的变量。

    • 变量名:我们可以给变量任意的取名字。

    定义一个变量除了var之外还有 function,以及ES6的 let、const、class

    变量的命名规范

    变量名有命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。

    保留字:

    abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、gotoimplements、import、int、interface、long、native、
    package、private、protected、public、short、static、super、synchronized、throws、transient、volatile

     驼峰命名规则:

    1.变量命名必须以字母或是下标符号”_”或者”$”为开头。

    2.变量名长度不能超过255个字符。

    3.变量名中不允许使用空格,首个字不能为数字。

    4.不用使用脚本语言中保留的关键字及保留符号作为变量名。

    5.变量名区分大小写。(javascript是区分大小写的语言)

    6.汉语可以作为变量名。但是不建议使用

    变量的数据类型

    数据类型指的就是字面量的类型,在JS中一共有七种数据类型:

    • 基本数据类型(值类型):String 字符串、Number 数值、Boolean 布尔值、Null 空值、Undefined 未定义、Symbol(ES6新增)。

    • 引用数据类型(引用类型):Object 对象(内置对象function、Array、Date、RegExp、Error等都是属于Object)。

    字符串: String

    (1)在JS中,字符串需要使用引号引起来。使用双引号或单引号都可以,但是不要混着用。

    (2)引号不能嵌套:双引号里不能再放双引号,单引号里不能再放单引号。但是单引号里可以嵌套双引号。

    var a = 'test1';
    var b = "test2";
    var c = "test'3"

    数值型:Number

    在JS中所有的数值都是Number类型,包括整数和浮点数(小数)。

    数值范围:

    由于内存的限制,ECMAScript 并不能保存世界上所有的数值。

    • 最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308

    • 最小值:Number.MIN_VALUE,这个值为: 5e-324

    如果使用Number表示的变量超过了最大值,则会返回Infinity。

    • 无穷大(正无穷):Infinity

    • 无穷小(负无穷):-Infinity

    Number类型中还有一个比较特殊的值NaN(Not a Number)

    • Undefined和任何数值计算的结果为NaN。NaN 与任何值都不相等,包括 NaN 本身。
    • isNaN() :任何不能被转换为数值的值都会导致这个函数返回 true。
    NaN === NaN; //false
    isNaN(NaN);// true

    浮点数的运算:

    在JS中,整数的运算可以很精确,但是小数的运算,可能会得到一个不精确的结果。所以,千万不要使用JS进行对精确度要求比较高的运算。

    null和undefined

    null:空值

    • Null类型的值只有一个,就是null。比如:var a = null

    • 专门用来表示一个为空的对象。(注意,专门用来表示空对象)

    • 使用 typeof 检查一个null值时,会返回object。

    undefined:未定义

    • Undefined类型的值只有一个,就是undefind

    • 声明一个变量,但是没有赋值,此时它的值就是undefined。例如:var a;

    • 使用 type of 检查一个undefined时,会返回undefined。

    如果写成 null == undefined会返回 true,使用 == 号判断两个值是否相等,会先对数据进行一次类型转换。

    对象:

    只要不是那六种基本数据类型,就全都是对象。

    如果使用基本数据类型的数据,我们所创建的变量都是独立,不能成为一个整体。

    对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。

    对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间。变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会受到影响。

  • 相关阅读:
    从底层谈WebGIS 原理设计与实现(六):WebGIS中地图瓦片在Canvas上的拼接显示原理
    从底层谈WebGIS 原理设计与实现(五):WebGIS中通过行列号来换算出多种瓦片的URL 之在线地图
    从底层谈WebGIS 原理设计与实现(四):WebGIS中通过行列号来换算出多种瓦片的URL 之离线地图
    从底层谈WebGIS 原理设计与实现(三):WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理(核心)
    从底层谈WebGIS 原理设计与实现(二):探究本质,WebGIS前端地图显示之地图比例尺换算原理
    [leetcode]Rotate List
    [leetcode]Remove Element
    [leetcode]Binary Tree Level Order Traversal II
    [leetcode]Populating Next Right Pointers in Each Node II
    [leetcode]Construct Binary Tree from Inorder and Postorder Traversal
  • 原文地址:https://www.cnblogs.com/voll/p/6150290.html
Copyright © 2020-2023  润新知