根基观点
标签:
什么是 JavaScript 语言JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”,指的是它不具备开发操纵系统的能力,而是只用来编写控制其他大型应用措施(好比浏览器)的“脚本”,自己不供给任何的 API,都要靠宿主环境(host)供给,所以 JavaScript 只合适嵌入更大型的应用措施环境,去挪用宿主环境供给的底层 API。
JavaScript 的核心语法部分相当精简,只包孕两个部分:根基的语法结构(好比操纵符、控制布局、语句)和标准库(就是一系列具有各类成果的东西好比Array、Date、Math等)。除此之外,各类宿主环境供给特别的 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)undefinedundefined返回undefined
(4)其他返回object数组的类型也是object,这暗示在JavaScript内部,数组素质上只是一种特殊的东西。
可以用instanceof运算符进行区分
NaN是 JavaScript 的特殊值,暗示“非数字”(Not a Number),主要呈此刻将字符串解析成数字堕落的场合。
5 - ‘x‘ // NaN
上面代码运行时,会自动将字符串x转为数值,但是由于x不是数值,所以最后得到功效为NaN,暗示它是“非数字”(NaN)。
此外,一些数学函数的运算功效会呈现NaN。
Math.acos(2) // NaN
Math.log(-1) // NaN
Math.sqrt(-1) // NaN
0除以0也会得到NaN。
0 / 0 // NaN
需要注意的是,NaN不是独立的数据类型,而是一个特殊数值,它的数据类型依然属于Number,使用typeof运算符可以看得很清楚。
typeof NaN // ‘number‘
(2)运算法则NaN不即是任何值,包孕它自己。
NaN === NaN // false
数组的indexOf要领内部使用的是严格相等运算符,所以该要领对NaN弗成立。
[NaN].indexOf(NaN) // -1
NaN在布尔运算时被看成false。
Boolean(NaN) // false
NaN与任何数(包孕它本身)的运算,得到的都是NaN。
Infinity (1)含义Infinity暗示“无穷”,用来暗示两种场景。一种是一个正的数值太大,或一个负的数值太小,无法暗示;另一种长短0数值除以0,得到Infinity。
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30201.html