美文网首页
Javacript-基本概念

Javacript-基本概念

作者: Tom36 | 来源:发表于2017-12-18 09:08 被阅读0次

一、语法

1、区分大小写

ECMAScript中的一切(变量、函数名、操作符)都区分大小写。

2、标识符

定义:就是指变量、函数、属性的名字,或者函数的参数
书写规范:驼峰命名法:

validCode
doSomethingImportant

3、注释

//单行注释

/*
多行注释     
 */

4、严格模式

严格模式中,js中的一些不确定行为将会得到处理,对于一些不安全的操作也会抛出错误。

"use strict";

5、语句

ECMAScript中的语句已一个分号(;)结尾,虽然可以省略,但建议不要省略。
多个语句可以放到{ }中

二、关键字和保留字

定义:具有特殊用途和操作的关键字,不可用作标识符。例如:

do  if  break  else  new……

三、变量

ECMAScript中的变量是松散类型的,即可以保存任何数据类型。 用 var 关键字定义。后跟变量名。
var a = "message";
定义多个变量:

var message = "hi",
found = false,
age = 23;

注意:

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

四、数据类型

ECMAScript 中有 5 种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和 String。还有 1 种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。ECMAScript不支持任何创建自定义类型的机制,而所有值最终都将是上述 6 种数据类型之一

1、typeof

作用:用于检测给定变量的数据类型,返回字符串

"undefined"——如果这个值未定义;
"boolean"——如果这个值是布尔值;
"string"——如果这个值是字符串;
"number"——如果这个值是数值;
"object"——如果这个值是对象或 null;
"function"——如果这个值是函数。

2、Undefined类型

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

        var message;
        console.log(message === undefined); //true
        console.log(message);  //"undefined"
        console.log(age);       //产生错误
        console.log(typeof message);  //"undefined"
        console.log(typeof age);  //"undefined"

3、Null类型

Null 类型是第二个只有一个值的数据类型,这个特殊的值是 null。从逻辑角度来看, null 值表示一个空对象指针,而这也正是使用 typeof 操作符检测 null 值时会返回"object"的原因

如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为 null 而不是其他值。这样一来,只要直接检查 null 值就可以知道相应的变量是否已经保存了一个对象的引用。
实际上, undefined 值是派生自 null 值的,因此 ECMA-262 规定对它们的相等性测试要返回 true:
console.log(null == undefined) //true

4、Boolean类型

Boolean 类型是 ECMAScript 中使用得最多的一种类型,该类型只有两个字面值: true 和 false

要将一个值转换为其对应的 Boolean 值,可以调用转型函数 Boolean(),例如

console.log(Boolean("message")); //true

各种数据类型及其对应的转换规则。

数据类型 转换为true的值 转换为false的值
Boolean true false
String 任何非空字符串 ""(空字符串)
Number 任何非零数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined n/a(not application,即不适用) undefined

这些转换规则对理解流控制语句(如 if 语句)自动执行相应的 Boolean 转换非常重要,下列代码在if()z中会自动执行Boolean()方法进行转换

var message = "Hello world!";
if (message){
   alert("Value is true");
}

5、Number类型

简单了解整形、浮点型
NaN
两个特点

  • 任何涉及 NaN 的操作(例如 NaN/10)都会返回 NaN
  • NaN 与任何值都不相等,包括 NaN 本身
    isNaN()函数工作原理: isNaN()在接收到一个值之后,会尝试将这个值转换为数值。某些不是数值的值会直接转换为数值,例如字符串"10"或 Boolean 值。而任何不能被转换为数值的值都会导致这个函数返回 true
    数值转换

有 3 个函数可以把非数值转换为数值: Number()、 parseInt()和 parseFloat()。第一个函数,即转型函数 Number()可以用于任何数据类型,而另两个函数则专门用于把字符串转换成数值。

上述三个函数的功能具体看书

6、String类型:

  • 了解转移字符
  • 了解字符串的特点:ECMAScript 中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变
    -转换字符串:toString

7、Object类型

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

但关键是要理解一个重要的思想:即在 ECMAScript 中,(就像 Java 中的 java.lang.Object 对象一样) Object 类型是所有它的实例的基础。换句话说,Object 类型所具有的任何属性和方法也同样存在于更具体的对象中。

五、操作符

各种操作符的奇技淫巧参看红皮书

六、语句

  • if
  • while
  • do-while
  • for
  • for-in
  • label
  • break & countinue
  • with
    -switch

七、函数

函数对任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。 ECMAScript 中的函数使用 function 关键字来声明,后跟一组参数以及函数体。

注意
位于 return 语句之后的任何代码都永远不会执行

function sum(num1, num2) {
    return num1 + num2;
    alert("Hello world"); // 永远不会执行
}

1、理解参数

JS中参数的特点:不限制数量,不限制类型。是因为ECMAScript中的参数是用一个数组表示的。可通过arguments对象访问参数

其实, arguments 对象只是与数组类似(它并不是 Array 的实例),因为可以使用方括号语法访问它的每一个元素(即第一个元素是 arguments[0],第二个元素是 argumetns[1],以此类推),使用 length 属性来确定传递进来多少个参数。

2、没有重载

没有重载的含义就是:如果在 ECMAScript 中定义了两个名字相同的函数,则该名字只属于后定义的函数

        function addSomeNumber(num){
            return num + 100;
        }
        function addSomeNumber(num){
            return arguments[0] + 200;
        }
        var result = addSomeNumber(100);
        console.log(result);   //300

相关文章

  • Javacript-基本概念

    一、语法 1、区分大小写 ECMAScript中的一切(变量、函数名、操作符)都区分大小写。 2、标识符 定义:就...

  • boost - 指针容器

    ptr_vector指针向量基本概念 ptr_vector指针向量 基本概念 Boost学习之指针容器 基本概念:...

  • 核武器基本概念及分类 - Part. 1

    【核武器基本概念及分类】Part. 1 目录: 核武器基本概念及分类 - Part. 1 核武器基本概念及分类 -...

  • 核武器基本概念及分类 - Part. 2

    【核武器基本概念及分类】Part. 2 目录: 核武器基本概念及分类 - Part. 1 核武器基本概念及分类 -...

  • 核武器基本概念及分类 - Part. 3

    【核武器基本概念及分类】Part. 3 目录: 核武器基本概念及分类 - Part. 1 核武器基本概念及分类 -...

  • 面向对象

    基本概念

  • OpenGL基本概念(知识)

    OpenGL基本概念 基本概念与说明 基本概念 OpenGL是一个图形API,用来绘制三维物体(也可以是2D物体)...

  • 20170904 SELinux

    SELinux的基本概念设置SELinux 一、SELinux的基本概念 (一)定义: SELinux:Secur...

  • IO流

    # 3.1 File # ## 3.1.1 File基本概念 ## 1.基本概念 -File类用于表示文件(目录)...

  • docker基本概念

    1.4 Docker基本概念docker包含三个基本概念: 镜像(Image) 容器(Container) 仓库(...

网友评论

      本文标题:Javacript-基本概念

      本文链接:https://www.haomeiwen.com/subject/hsqswxtx.html