JavaScript基础知识

JavaScript 是面向web的、客户端脚本语言!
JavaScript 是因特网上最流行的脚本语言。
JavaScript是门高端、动态、弱类型的编程语言

提示:JavaScriptJava 是两种完全不同的语言。
ECMA-262 是 JavaScript 标准的官方名称。
JavaScript 由 Brendan Eich 发明。它于 1995 年出现在 Netscape 中(该浏览器已停止更新),并于 1997 年被 ECMA(一个标准协会)采纳。

JavaScript程序是用Unicode字符集编写的,是一个区分大小写的语言,支持两种注释格式

//       单行注释
/*       多行注释      */

不支持JavaScript可以使用<noscript>标签进行提示

脚本执行顺序

从上到下按照脚本出现的顺序依次执行

大小写敏感

脚本程序对大小写敏感,相同的字母,大小写不同,代表的意义也不同,如Name\NAME\name是3个不同的变量

可选的分号

JavaScript使用分号(;)分隔开每条语句。这对增强代码的可读性和整洁性是非常重要的:缺少分隔符,一条语句的结束就成了下一条语句的开始,反之亦然。在JavaScript中,如果语句各自独占一行,通常可以省略语句之间的分号(程序结尾或右花括号“}”之前的分号也可以省略)。许多JavaScript程序员使用分号来明确标记语句的结束,即使在并不完全需要分号的时候也是如此。另一种风格就是,在任何可以省略分号的地方都将其省略,只有在不得不用的时候才使用分号。

标识符

标识符就是一个名字,标识符用来对变量和函数进行命名,要求以数字、字母、下划线、美元符号组合且不能以数字开头,也允许出现Unicode字符全集中的数字和字母(出于可移植性和易于输写的考虑,不建议使用)

数据类型

分为两种类型:原始类型和对象类型,原始类型包括数字、字符串和布尔值
两种特殊的值:null(空)、undefined(未定义)。

类型转换

JavaScript的取值非常灵活,可以根据需要自行的进行转换类型,如果程序需要字符串,那么它把给定的值自动转换为字符串

  1. 10 + “object”      // >>>  10object , 数字10变为字符串
  2. “7” * “4”            // >>>    28   两个字符串均转换为字符串
  3. 1 – “x”          // >>>  NaN  ,字符串无法转换为数字

为了使代码清晰易读,可以做显式类型转换,Boolean()、Number()、String()函数

数字、字符串

不区分整数和浮点数,所有数均用浮点数值表示,用0x开头表示16进制的值,浮点数可以使用指数记数法表示,如6.02e23

Number.MAX_VALUE   最大值   Number.MIN_VALUE    最小值
Infinity  正无穷    -Infinity   负无穷   NaN    非数值   
isNaN()  判断是否为非数值    isFinte()    数据是否越界,是返回true

字符串直接量是用单引号或双引号括起来的字符序列,当使用单引号时,当文本中有单引号时,使用反斜线(\)来转义

布尔值指代真或假,任意的都可以转换为布尔值,下面这些值会被转换成false

  1. null
  2. undefined
  3. 0  或 -0
  4. NaN
  5. “”       空的字符串

以上五种会被转换成false,其他所有值(包括对象)都会转换成true

自动的垃圾回收

JavaScript解释器有自己的内存管理机制,可以自动对内存进行垃圾回收,不必担心这些对象的消毁和内存回收。

JavaScript变量

变量声明使用var关键字,如var n;如果没有给他一个指定的值,那么他默认就是undefined,由于是弱类型语言,所以你完全不用管它之前是什么类型,可以直接赋给。如:var n= 4; n = “cwj95.com”。

JavaScript变量是无类型的((untyped),变量可以被赋予任何类型的值,同样一个变量
也可以重新赋予不同类型的值。

如果var语句中的变量没有指定初始化表达式,那么这个变量的值初始为undefinedo,注意,多次声明同一个变量是无所谓的。

遗漏和重复声明重复声明一个变量是合法无害的,如var n = 444; var n = “cwj95.com”,但如果没有使用var关键字声明,直接给变量赋值JavaScript会报错

变量的作用域:函数内声明的变量只在函数体内有郊,称为局部变量,局部变量优先级高于全局变量

无法通过delete删除:var声明的变量是无法通过delete删除的

对象和数组

用[ ] 来表示一个数组,{}用来表示一个对象,可以在声明的时候直接赋值。

var n = [123,123,1234,555]        //定义一个数组
var a = { b:123, c:”fff”}              //定义一个对象

数组和对象都是可以嵌套的,其中的值使用逗号分隔。如果要得到对象、数组的值,有两种写法,第一种直接跟随一个句号和标识符(只适用于对象),第两种使用方括号,括号内写表达式。

a.b     >>>   123
a[“b”]   >>>   123
n[1]    >>  123

typeof 运算符
返回一个用来表示表达式的数据类型的字符串。

typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: “number,” “string,” “boolean,” “object,” “function,” 和 “undefined.”

  1. 对于数字类型的操作数而言, typeof 返回的值是 number
  2. 对于字符串类型, typeof 返回的值是 string。比如typeof(“123”)返回的值是string。
  3. 对于布尔类型, typeof 返回的值是 boolean 。比如typeof(true)返回的值是boolean。
  4. 对于对象、数组、null 返回的值是 object 。比如typeof(window),typeof(document),typeof(null)返回的值都是object。
  5. 对于函数类型,返回的值是 function。比如:typeof(eval),typeof(Date)返回的值都是function。
  6. 如果运算数是没有定义的(比如说不存在的变量、函数或者undefined),将返回undefined。比如:typeof(sss)、typeof(undefined)都返回undefined。

导入javascript程序

  1. 通过<script>与</script>标记对引入
  2. 通过<script>标记的src属性引入
  3. 通过JavaScript伪URL引入

在多数支持JavaScript脚本的浏览器里,可以通过JavaScript伪URL地址语句来引入JavaScript

onclick=”javascwpt:alertl’鼠标己单击文本框!”

发表评论

发表回复

*

沙发空缺中,还不快抢~