书山有路勤为径,学海无涯苦作舟。 知识改变命运,行动创造未来。

基本概念

JavaScript 基本概念

基础语法

类似于Java语法

  • 字符区分大小写
    • 在javascript中所有变量、函数、对象都是严格区分大小写的。
    • hello Hello
  • 注释
    • 单行注释
      • //
    • 多行注释
      • /****/
			//js 代码
			/*
			*
			* alert("Hello World!")
			* console.log("Hello World!")
			* document.write("Hello World!")
			*/
  • 严格模式

    • 严格模式是为 JavaScript 定义了一种不同的 解析与执行模型。在严格模式下,ECMAScript 3 中的一些不确定的行为将得到处理,而且对某些不安全 的操作也会抛出错误。
    "use strict";
  • 语句

    • 语句使用分号结尾
    • alert("Hello World!");

关键字

break
case
catch
continue
debugger*
default
delete
do           instanceof
else         new
finally      return
for          switch
function     this
if           throw
in           try
typeof
var
void
while
with

保留字

用于执行特定的操作。

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

变量

  • 变量名可以使用字母、数字、下划线

  • 变量名只能以字母或下划线开头

  • 变量名不能使用关键字和保留字

定义变量时要使用 var 操作符(注意 var 是一个关键 字),后跟变量名(即一个标识符)

var name ;   // 未经过初始化  默认输出undefined
var name = js;    //初始化赋值

var user,name,password;   //批量声明变量
var user="zhangsan",name="xxxxxxx",password="123456"    //批量声明

用 var 操作符定义的变量将成为定义该变量的作用域中的局部变量。也就是说, 如果在函数中使用 var 定义一个变量,那么这个变量在函数退出后就会被销毁。

实验代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			
			//var name = 'zhangsan'; 
			var age = 14;
			var nage = 123;
			
			document.write(age)
			//document.write("<h1>" +  name + "</h1>");
			
			var name;
			document.write(name);
			
			var name,age,phone;
			var name="zhangsan",age=11,phone=123456;
			
			console.log(name + age + phone)
			
			
		</script>
	</head>
	<body>
	</body>
</html>

实验效果

images

数据类型

基本数据类型:

  • Undefined

  • Null

  • Boolean

  • Number

  • String

复杂数据类型

  • Object

    Object 本质上是由一组无序的名值对组成的。

ECMAScript 不支持任何创建自定义类型的机制,而所有值最终都将是上述 6 种数据类型之一。


检测给定变量的数据类型——typeof

typeof 操作符的操作数可以是变量(message),也可以是数值字面量。 typeof 是一个操作符而不是函数,因此例子中的圆括号尽管可以使用,但不是必需的。

var name = "lisi";
alert(typeof name )
var name = "lisi";
var age = 123;
alert(typeof name);
document.write(typeof age);

undefined类型

Undefined 类型只有一个值 undefined。在使用 var 声明变量但未对其加以初始化时,

这个变量的值就是 undefined,例如: var message;(定义变量测试)

  • 测试赋值undefined

  • 测试变量声明与不声明的区别,typeof.

var name = "lisi";
var age = 123;

//alert(typeof name);
console.log(typeof name);
document.write(typeof age);


var num1 ;
console.log(typeof num1);

var num2 = undefined;
console.log(num2 == undefined);


//var num3;
console.log(num3);

当未定义变量的时候,打印或者引用会提示错误。

Uncaught ReferenceError: num3 is not defined at 02.html:24


null类型

null是 一个表明 null 值的特殊关键字。 JavaScript 是大小写敏感的,因此 null 与 Null、NULL或其他变量完全不同。null通常表示“没有对象”,即该处不应该有值

var num4 = null;
alert(typeof num4);

Boolean类型

该类型只有两个字面值:true 和 false。区分大小写。默认情况下 true == 1 ,false==0。

var num5 = true;
var num6 = false;

console.log(typeof num5);
console.log(typeof num6);

Number类型

整数和浮点数值

var age1 = 1234;
var proice = 1.1;

console.log(typeof age1);
console.log(typeof proice);

String类型

字符串可以由双引号(")或单引号(')表示,字符串一旦创建,它们的值就不能改变

//string

var address = "beijing";
var school = "xxxx";
var car = 'red';

console.log(typeof address);
console.log(typeof school);
console.log(typeof car);


//更改字符串的值
address = "shanghai";
console.log(address);

Object类型

对象可以通过执行 new 操作符后跟要创建 的对象类型的名称来创建。而创建 Object 类型的实例并为其添加属性和(或)方法,就可以创建自定 义对象

//object
var ob1 = new Object();   //声明对象,圆括号可以省略,建议保留。
ob1.number = 123;         //声明对象的变量 number
ob1.name = "zhangsan";   //声明对象变量 name
console.log(typeof ob1);    
console.log(ob1);

类型转换

  • toString() 转换为字符串

  • Boolean() 转换为 布尔值

  • parseFloat() 转换为浮点数

  • parseInt() 转换为整数

  • Number() 转换为整数

  • String() 转换为字符串

实验代码

//number  -> string
var st1 = 123;
console.log(typeof st1);
st1 = st1.toString();
console.log(typeof st1);

//boolean -> string
var st2 = true;
console.log(typeof st2);
st2 = String(st2);
console.log(typeof st2);
console.log(st2);

//string  -> number

var st3 = "11.1";
console.log(typeof st3);
st3 = parseFloat(st3);

console.log(typeof st3);
console.log(st3);

//NaN 不能转换的值, 字符串都是数字。


// number -> boolean
// 0 false , 其他都是true.
var st4 = 0;
console.log(typeof st4);

st4 = Boolean(st4);
console.log(typeof st4);
console.log(st4);

//string -> boolean 
//字符串不为空 true 
//字符串为空 false

var st5 = "";
console.log(typeof st5);

st5 = Boolean(st5);
console.log(typeof st5);
console.log(st5);


//string --> number
var st6 = "123a";
console.log(typeof st6);

st6 = Number(st6);
console.log(typeof st6);
console.log(st6);

实验效果

images