JavaScript Day01 初识JavaScript 2

简介: JavaScript Day01 初识JavaScript

3.关键字与保留字

关键字:(在js中有特殊功能)

break do try typeof

case else new var

catch finally return void

continue for switch while

debugger this function with

default if throw instanceof

delete in


保留字:(将来可能成为关键字)


abstract enum int short

boolean export interface static

byte extends long super

char final native synchronized

class float package throws

const goto private transient

debugger double implements protected

volatile import public


3.1 区分大小写

typeof 关键字, typeOf 非关键字


3.2 标识符

指变量,函数,属性的名字或者函数的参数。标识符是按照以下规则组合起来的一或多个字符:


1.字母,数字,下划线,$组成


2.只能以字母,下划线,$开头。


3.不能将关键字作为标识符。命名采用驼峰式命名


语句

每个语句以分号结尾,如果省略分号,由解析器确定语句的结尾,即分号可以省略,但是我们要求每个语句的末尾都应该有分号


4.变量

变量是一个值的容器,该容器的值可以随时改变。ECMAScript的变量是弱类型(松散类型),可以用来保存任何类型的数据。定义变量时使用var关键字。

变量的使用:

声明 var message;

初始化 message = “hello”

声明并初始化 var message = “hello”;

定义多个变量 var message= “hello”,found=false, age = 29;

变量名的命名规则:

变量名由字母,数字,下划线以及$组成。

不要使用下划线或者数字作为变量名的开头

变量名应该具有一定的意义,使用小驼峰命名规则 var userAgeTotal = “”;

不要使用关键字或是保留字


变量的使用

变量的使用一般用经过声明,初始化,使用三个步骤

// 变量声明
var a ;
// 变量初始化
a = 3;
// 变量调用
console.log(a);

js是弱类型的语言

弱类型语言具有如下特点:


  1. 变量的数据类型在初始化的时候确定
  2. 变量的数据类型可以随时发生改变
  3. 类型细分不明显

Java 是强类型语言

1.变量的数据类型在声明的时候确定


2.变量的数据类型一定确定不能更改


var

var用于声明一个变量,在es6中,可以通过let声明一个变量,通过const声明一个常量


变量可以重复声明

var a = b = c = 3;
var d = 10,e = 20,f,g;
//弱类型语言,变量容器可以混合使用
var a = "hello world";//变量的重复赋值(相同的数据类型、不同的数据类型)  
function a(){}

变量声明会被提升 (函数的声明也会)

//console.log(b);//报错
console.log(a);//不会报错
var a = 3;
//等价于:
var a;//在所有代码执行之前,js解释器会将js中所有的var声明的变量提升。
console.log(a);
a=3;

var声明的变量的作用域

案例1

function foo(){
  if(true){
    var a = 3;  
    console.log("inner",a);//inner 3
  }
  console.log("outer",a);//inner 3  //没有块级作用域
}
foo();
console.log(a);//error!  函数作用域:局部作用域
// var 的变量声明提前知会提升到当前作用域的最前面

案例2

//如果在函数中定义变量没有加var,该变量为全局变量
function test(){
  message = "hello"; 
}
test();
console.log(message); //可以访问

案例3

//用var操作符定义的变量将成为定义该变量的作用域中的局部变量
//全局作用域
function b() {
  a = 10;
  return;
}
var a = 1;
b();
console.log(a);//10

案例4

x = 1;//window.x  global.x
console.log(x); //1
function y() {
  console.log(x); //undefined
  console.log(this.x);//1
  var x = 2;
  console.log(x); //2
}
y();
console.log(x);//1

案例5

//函数作用域:局部作用域
var a = 1;
function b() {
  a = 10;
  return;
  //a函数声明,提前变量a,将a认为是函数b作用域的变量,具有局部效果
  function a(){}
} 
b(); 
console.log(a); // 1

5.数据类型

5.1 JavaScript基本数据类型

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


引用数据类型:对象(Object)、数组(Array)、函数(Function)。


注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。


-JavaScript 拥有动态类型

JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型

var x;               // x 为 undefined
var x = 5;           // 现在 x 为数字
var x = "John";      // 现在 x 为字符串

-字符串 String

字符串是存储字符(比如 “Bill Gates”)的变量。


字符串可以是引号中的任意文本。可以使用单引号或双引号:

var carname="Volvo XC60";
var carname='Volvo XC60';

可以在字符串中使用引号,只要不匹配包围字符串的引号即可:

var carname="Volvo XC60";
var carname='Volvo XC60';

可以使用字符字面量,转义字符

\n 换行 \t 制表 \b 退格

\r 回车 \ 斜杠 ’ 单引号

" 双引号

字符长度可通过length属性获取字符长度

var str = "我是字符串";
console.log(str);
console.log(str.length);
var s4='\n\t\b\r';

-数字 Number

JavaScript 只有一种数字类型。数字有很多类型,按照数字精度可以分为整数(int),单精度(float),双精度(double ),按照数字的表示方法可以分为二进制(Binary),八进制(Octal),十进制(decimal system),十六进制(Hexadecimal)。但是在js中,所有的数字统一使用Number来表示。


表示方法


-整数:

十进制 55 由0~9组成


八进制 070 首位为0,其他位有0~7组成


十六进制 0x11 首位为0x,其他位为09,AF

var num1 = 34;         //不使用小数点来写
var num2 = 010;        //8
var num3 = 0x10;       //16
console.log(x1, x2, x3, x4);

-浮点数:

所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后必须至少有一位数字。浮点数值的最高精度是17位小数


普通浮点数 3.1415926


科学计数法 3.125e7 即31250000

var f1 = 3.1415926;  //3.1415926
var f2 = 3.125e7;    //31250000
console.log(f1, f2);

-非数值:

该数值表示一个本来要返回数值的操作数未返回数据的情况

var a = 10/ "a";  // a为NaN

-非数值检测:

判断参数是否“不是数值”,当参数para不是数值的时候返回true

isNaN(NaN); // true


目录
相关文章
|
4月前
|
存储 JSON JavaScript
探索JavaScript中的深度复制
【8月更文挑战第20天】
34 7
|
4月前
|
JavaScript 前端开发
JavaScript中的every 和 some 讲解和实现
`every()` 和 `some()` 是用于测试数组元素是否符合特定条件的两个方法。`every()` 验证所有元素是否都通过指定函数的测试,并返回一个布尔值。而 `some()` 则检查数组中是否存在至少一个元素能通过该测试。若找到符合条件的元素,即使只有一个,`some()` 也会立即返回 `true`;反之则返回 `false`。这两个方法都不会对原数组进行修改。
55 1
|
移动开发 JavaScript 前端开发
JavaScript1
JavaScript1
57 0
|
7月前
|
JavaScript 前端开发
JavaScript是什么,其特点又是什么?
JavaScript是什么,其特点又是什么?
48 0
|
7月前
|
存储 前端开发 JavaScript
JavaScript中你不知道的数学方法 (非常实用)
JavaScript中你不知道的数学方法 (非常实用)
|
JavaScript 前端开发 Java
70.【JavaScript 6.0】(三)
70.【JavaScript 6.0】
57 0
|
Web App开发 JavaScript 前端开发
JavaScript Day01 初识JavaScript 1
JavaScript Day01 初识JavaScript
87 0
|
JavaScript 前端开发
JavaScript 能够做什么?
JavaScript 能够做什么?
86 0
|
JavaScript 前端开发
有趣的JavaScript(2)
有趣的JavaScript(2)
|
算法 JavaScript 前端开发
JavaScript的各种等号`==` `===`最全详解(下)
JavaScript的各种等号`==` `===`最全详解(下)
106 0
JavaScript的各种等号`==` `===`最全详解(下)

相关实验场景

更多