01_JavaScript介绍、变量、运算符

JavaScript历史

  • 1995.2月 Netscape公司发布LiveScript,后临时改为JavaScript,为了赶上Java的热浪。
    欧洲计算机制造商协会(ECMA)英文名称是European Computer Manufacturers Association
  • 1997 年,以JavaScript 1.1 为基础。由来自 Netscape、Sun、微软、Borland 和其他一些对脚本编程感兴趣的公司的程序员组成的 TC39(ECMA的小组) 锤炼出了 ECMA-262,也就是ECMAScript1.0。
  • 1998年6月,ECMAScript 2.0版发布。
  • 1999年12月,ECMAScript 3.0版发布,成为JavaScript的通行标准,得到了广泛支持。
  • 2007年10月,ECMAScript 4.0版草案发布:分歧太大,失败告终。
  • 2009年12月,ECMAScript 5.0版正式发布
  • 2015年6月17日,ECMAScript 6发布正式版本,即ECMAScript 2015。

JavaScript和ECMAScript的关系

ECMAScript是一种由Ecma国际前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association,制定的标准。
  JavaScript是由公司开发而成的,公司开发而成的一定是有一些问题,不便于其他的公司拓展和使用。所以欧洲的这个ECMA的组织,牵头制定JavaScript的标准,取名为ECMAScript。
  简单来说ECMAScript不是一门语言,而是一个标准。符合这个标准的比较常见的有:JavaScript、Action Script(Flash中用的语言)。就是说,你JavaScript学完了,Flash中的程序也会写了。
  ECMAScript在2015年6月,发布了ECMAScript 6版本,语言的能力更强。但是,浏览器的厂商不能那么快的去追上这个标准。这些新的特性,我们就业班的深入,也会给大家介绍。

JS介绍

js是一款运行在客户端的网页编程语言。

  • 组成部分

  • ECMAScript:JavaScript的语法标准。

  • DOM:JavaScript操作网页上的元素的API

  • BOM:JavaScript操作浏览器的部分功能的API

  • 特点

  • 简单易用
    可以使用任何文本编辑工具编写
    只需要浏览器就可以执行程序

  • 解释执行
    解释执行:事先不编译、逐行执行、无需进行严格的变量声明
    编译执行:java c# 转化为.dll可执行文件==>电脑读取.dll可执行文件

  • 基于对象
    内置大量现成对象,编写少量程序可以完成目标

  • 面向过程

  • 作用

  • 表单验证

  • 轮播特效

  • 开发游戏

JS书写位置

Javascript 书写位置
(1)与css类似,直接嵌入到html页面中
(2)文件调用:JavaScript代码写到另一个文件当中(其后缀通常为“.js”),然后用格式为<script src="javascript.js"></script>的标记把它嵌入到文档中

  • 写js代码的时候,分号不能省略。
  • 推荐将JS代码写在html结束标签后边、将多个JS文件合成为一个JS文件
Javascript执行过程中的小原理
  • html页面中出现<script>标签后,就会让页面暂停等待脚本的解析和执行。无论当前脚本是内嵌式还是外链式,页面的下载和渲染都必须停下来等待脚本的执行完成才能继续,这在页面的生命周期中是必须的。
    例如:通过外链式js文件查看加载速度。

输出消息的几种方式

  • alert() 在页面弹出一个对话框,早期JS调试使用。
  • Confirm() 在页面弹出一个对话框, 常配合if判断使用。
  • console.log() 将信息输入到控制台,用于js调试
  • prompt() 弹出对话框,用于接收用户输入的信息。
    返回用户输入的信息
  • document.write()在页面输出消息
    document.write("<p><a href='#'>你好</a></p>");
    document.write不仅能输出信息,还能输出标签。

转义字符

\" 转双引
\'转单引
\n转换行
\r转回车

Js注释

单行注释 //
多行注释 /* */
快捷键 ctrl+/

变量

会变化的量。
变量是用来存储数据的容器。

  • 变量定义

变量定义: var 自定义名称;

var关键字定义变量

  • 给变量赋值

变量名=值;

var wukong = 123;//wukong是变量名,123是变量
  • 命名规范
  • 变量名必须以字符或下划线“_”开头
  • 变量可以包含数字、从A至Z的大小字母
  • 不能以数字或者纯数字开头来定义变量名。
  • 不推荐使用中文来定义变量名。
  • 不能使用特殊符号或者特殊符号开头(-除外);
  • JavaScript严格区分大小写,computer和Computer是两个完全不同的变量
  • 禁止使用javascript的保留关键字作为变量名(见下面的保留关键字图)



    用于程序控制或者执行特定操作的关键字

    保留关键字

JavaScript数据类型

  • 简单数据类型:
  • Number:数字类型
  • String:字符串类型
  • Boolean:布尔类型
  • undefined:变量未初始化
  • null:空类型
typeof undefined;//"undefined"
null === undefined;//false
null == undefined;//true
typeof null;//"object"
  • 复杂数据类型:

  • Object:对象(引用)

  • Array:数组

  • 判断数据类

typeof 变量名;

  • Number数据类型
  1. 最基本的数据类型
  2. 不区分整型数值和浮点型数值
  3. 能表示的最大值是±1.7976931348623157乘以10的308次方
    能表示的最小值是±5 乘以10的-324次方
  4. 包含十六进制数据,以 0x开头 0到9之间的数字,a(A)-f(F)之间字母构成。 a-f对应的数字是10-15
  5. 八进制直接以数字0开始,有0-7之间的数字组成。
        var num = 0x3f;//十六进制
        var num1 = 045;//8进制
        alert(num);//63
        alert(num1);//37
  • 字符串
    字符串由单引号或双引号括起
    例如单独一个字母也被称为字符串(例如:‘a’)
    转义字符 \" \'
var str = "你好";
var str1 = '你好啊';
  • 比较运算符:> , < , >= , <= , == , !=
var    a=1;      
var   b=2;            
alert(a>b);       
  • 布尔数据类型 Boolean
    只有2个值一个是true, 一个是false. 实际运算中true=1,false=0
  • JavaScript 特殊类型
    取值null 含义:变量未引用,值为空(主动),在内存中找不到这个变量
    取值undefined 含义:变量未初始化,变量在内存中是存在的
  • Null: Javascript中的关键字,它表示一个特殊值。通常用来描述“空值”。
  • undefined: 表示值得空缺。它是变量的一种取值,表示变量未进行初始化(变量没有赋值),在EcmaScript3中,undefined是可读写的变量,可以给它赋任何值。在EcmaScript5中将这个错误进行了修改。只有undefined这一个值。

算术运算符

算数运算符
  • + 加号
  • 两个数字类型的变量相加,得到的是一个数字类型。
  • 一个数字类型和一个字符串相加,得到的是一个字符串。
  • - 减号
  • 两个数字类型的变量相减,得到的是一个数字类型。
  • 一个数字类型和一个数字字符串相减,得到的是一个数字类型。
  • 一个数字类型和一个非数字字符串相减,得到的是NaN,是一个数字类型。
        var num1 = 22;
        var num2 = 23;
        var str1 = "12";
        var str2 = "nihao";
        var str3 = "8";
        alert(typeof (num1-str1));//number
        alert(num1-str2);//NaN
        alert(str1-num1);//-10
        alert(str1-str2);//NaN
        alert(str1-str3);//4
  • NaN, not a number,表示不是一个数字
      判断是不是一个数字使用: isNaN(x)
      (typeof NaN)是number

  • / 除号

  • 两个数字类型的变量相除,得到的是一个数字类型。

  • 一个数字类型和一个数字字符串相除,得到的是一个数字类型。

  • 一个数字类型和一个非数字字符串相除,得到的是NaN,是一个数字类型。

  • 0做为除数的时候,得到结果 Infinity (无限大),是一个数字类型。

        var num1 = 24;
        var num2 = 23;
        var str1 = "12";
        var str2 = "nihao";
        var str3 = "8";
        alert(num1/0);//Infinity
        alert(num1/str1);//2
        alert(num1/str2);//NaN
        alert(typeof (num1/str2));//number
  • Infinity: 无穷大 例如: var number=7/0
  • % 取余数
  • 优先级:有()先计算()里边的

带操作的赋值运算

在javascript中,程序执行的过程是从上而下的顺序执行。遇到错误,不会再往下执行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容