##JavaScript

  *概念:一门客户端脚本语言

    *运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎。

    *脚本语言:不需要编译,直接就可以被浏览器解析执行。

  *功能:

    *可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有动态的效果,增强用户的体验。

  *JavaScript发展史:

      1、1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为:C--。后来更名为ScriptEase(因为发现卖的不好,就学网景改名字,之后也卖的非常好,就和下面两个公司呈现三足鼎立的局面)。

      2、1995年,NetScape(网景)公司,开发了一门客户端脚本语言:LiveScript。(同年,Java语言诞生)后来,请来SUN公司的专家,修改LiveScript。再命名为JavaScript(因为当时java非常火,这个命名也是期待自己的这门语言火起来)。

      3、1996年,微软抄袭JavaScript开发出JScript语言(为了搭载到自己的IE浏览器上)。

      4、1997年,ECMA(欧洲计算机制造商协会),统一了这三门语言的规范,以JavaScript为基础,新命名为 ECMAScript,就是所有客户端脚本语言的标准(类似于SQL)。

      * JavaScript  =  ECMAScript  +  JavaScript自己特有的东西(BOM+DOM)

  *ECMAScript:客户端脚本语言的标准

      1、基本语法

        1.与html的结合方式

          1、内部JS

            *定义<script>,标签体内容就是js代码

          2、外部JS

            *定义<script>,通过src属性引入外部的js文件、

          *注意:

            1、<scropt>可以定义在html页面的任何地方(但是肯定不能乱放吧,比如标签里面),但是定义的位置会影响执行顺序。

            2、<scropt>可以定义多个。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--可以写在html代码的任意位置-->
<!--内部JS-->
<script>
alert("Hello World");
</script>
<!--外部JS-->
<script src=""></script>
</head>
<body>
</body>
</html>

        2.注释

          1.单行注释://注释内容

          2.多行注释:/*煮熟内容*/

        3.数据类型:

          1.原始数据类型(基本数据类型)

            1、number:数字。  整数/小数/NaN(Not a Number:一个不是数字的数字类型)

            2、string:字符串。  字符/字符串  "abc"  "a"  'abc'

            3、boolean:true/false

            4、null:一个对象为空的占位符

            5、undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined

          2.引用数据类型:对象(后面介绍)

        4.变量

          * 变量:一小块存储数据的内存空间。

          *Java是强类型语言,而JavaScript是弱类型语言。

            *强类型:再开辟变量存储空间时,定义了空间将来存储的数据的数据类型。只能存储固定类型的数据。

            *弱类型:在开辟变量存储空间时,不定义空间将来存储的数据的数据类型。可以存放任意类型的数据。

          *语法:

            *  var 变量名 = 初始化值;/  var 变量名 ;(后面再赋值)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>变量</title>
<script>
//定义变量a 赋值为3
var a= 3;
alert(a);
//改变a的值为"abc"
a = "abc";
alert(a);
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>变量</title>
<script>
//定义number类型
var num = 1;
var num2 = 1.2;
var num3 = NaN;
//输出到页面上
document.write(num+"<br>");
document.write(num2+"<br>");
document.write(num3+"<br>");
//定义string类型
var str = "abc";
document.write(str+"<br>");
//定义boolean类型
var flag = true;
document.write(flag+"<br>");
//定义null
var obj = null;
document.write(obj+"<br>");
//定义undefined
var obj2 = undefined;
var obj3;
document.write(obj2+"<br>");
document.write(obj3+"<br>");
</script>
</head>
<body>
</body>
</html>

执行结果:

          *typeof操作符:检测变量的数据类型

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>变量</title>
<script>
//定义number类型
var num = 1;
var num2 = 1.2;
var num3 = NaN;
//输出到页面上
document.write(num+"----"+typeof num+"<br>");
document.write(num2+"----"+typeof num2+"<br>");
document.write(num3+"----"+typeof num3+"<br>");
//定义string类型
var str = "abc";
document.write(str+"----"+typeof str+"<br>");
//定义boolean类型
var flag = true;
document.write(flag+"----"+typeof flag+"<br>");
//定义null
var obj = null;
document.write(obj+"----"+typeof obj+"<br>");
//定义undefined
var obj2 = undefined;
var obj3;
document.write(obj2+"----"+typeof obj2+"<br>");
document.write(obj3+"----"+typeof obj3+"<br>");
</script>
</head>
<body>
</body>
</html>

* 为什么 typeof(null)返回的数据类型是 Object?

  *这实际上是JavaScript最初实现中的一个错误,然后被ECMAScript沿用了。现在,null被认为是对象的占位符,从而解释了这一矛盾,但是从技术层面上来说,它然后是原始值。

  在其他地方也看到另一种解释:

  *不同的对象在底层都表示为二进制,在javascript中二进制前三位都为0的话会被判断为object类型,null的二进制表示全0,自然前三位也是0,所以执行typeof时会返回“object”(转载于:https://www.cnblogs.com/xzma/p/9604247.html)

        5.运算符(后面介绍)

        6,流程控制语句(后面介绍)

      2、基本对象(后面介绍)

JavaScript----简介及基础语法的更多相关文章

  1. JavaScript学习02 基础语法

    JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ...

  2. JavaScript学习笔记-基础语法、类型、变量

    基础语法.类型.变量   非数字值的判断方法:(因为Infinity和NaN他们不等于任何值,包括自身) 1.用x != x ,当x为NaN时才返回true; 2.用isNaN(x) ,当x为NaN或 ...

  3. javascript简介和基本语法

    javascript简介 1.javascript是个脚本语言,需要有宿主文件,他的宿主文件是html文件. 用法:为了保险起见一般写在</html>之后<javascript   ...

  4. Markdown 简介及基础语法

    一.Markdown 简介 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 二.Markdown 基础语法 1. Markdown ...

  5. Scala简介及基础语法

    一.scala简介 官网:https://www.scala-lang.org/ Scala语言很强大,集成了面向对象和函数式编程的特点. 运行在JVM(jdk). 大数据中为什么学习scala? s ...

  6. [JavaWeb基础] 028.CSS简介和基础语法

    css 概述 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现 ...

  7. 4、JavaScript进阶篇①——基础语法

    一.认识JS 你知道吗,Web前端开发师需要掌握什么技术?也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HTML+CSS创建一个漂亮的页面,但这还不够,它只是静态页面 ...

  8. css系列教程--简介及基础语法和注意事项

    css简介:css指的是层叠样式表,cascading style sheets.用来定义html中的dom节点如何展示在页面中的问题.解决了内容与表现形式的分离问题.常见的样式表有外部链接样式表和内 ...

  9. JavaScript简介及基础知识(1)

    1.JavaScript是什么—它是个脚本语言,需要宿主文件,它的宿主文件是html文件. Javascript是一种脚本语言,比HTML要复杂.不过即便你先前不懂编程,也不用担心,因为Javascr ...

  10. java 复习整理(一 java简介和基础语法)

    现在公司用的是封装太多东西的平台开发,觉着之前学的东西很多都忘了,所以想好好总结回顾一下.之前总是想学很多编程语言像python.s6.node.react,但现在越来越体会到编程语言只是一个开发的工 ...

随机推荐

  1. Proto3使用指南

    这篇指南讲述如何使用Protocol Buffers来结构化你的Protocol Buffer数据,包括.proto文件语法以及如何从.proto文件生成你的访问类型.本文主要涵盖了proto3的语法 ...

  2. swift中的闭包总结

    闭包是功能性自包含模块,可以在代码中被传递和使用. Swift 中的闭包与 Objective-C中的 blocks 以及其他一些编程语言中的 lambdas 比较相似. 闭包的基本语法 闭包表达式语 ...

  3. 成为数据专家,你只差一个Quick Insights的距离

    身处如今的大数据时代,你真的知道如何处理数据和分析数据吗?或许那些被你忽视的数据背后就暗藏着重要的商业灵感.并非人人都是数据专家,有时候你需要一些专业的软件来帮你处理数据.那么如何能快速.准确地从数据 ...

  4. ECMA5中定义的对象属性特性和方法

    ECMA5规定了只有内部才有的特性,描述了属性的各种特征,这些特性用于实现JavaScript引擎,因此在Js中不能直接访问他们.为了标识特性,我们一般会他们放入两对方括号中. ECMAScript中 ...

  5. Spring源码分析-BeanFactoryPostProcessors 应用之 PropertyPlaceholderConfigurer

    BeanFactoryPostProcessors 介绍 BeanFactoryPostProcessors完整定义: /** * Allows for custom modification of ...

  6. Java基础:浅谈数据输入流/数据输出流《DataInputstream类与DataOutputstream类》

     一.理论概述 数据输入/输出流(DataInputStream类与DataOutputStream类) 允许应用程序以与机器无关的方式从底层输入流中读取基本Java数据类型. 说白了就是,当读取一个 ...

  7. CKEditor4.7怎样实现上传图片,浏览服务器(无需ckfinder),nodejs图片管理,字体居中,图片居中(超详细)

    首先是下载CKEditor,下载地址:http://ckeditor.com/download 选择里面的Customize自定义,如图 然后进入配置界面,第一个choose preset一般就选st ...

  8. JZOJ 3505. 【NOIP2013模拟11.4A组】积木(brick)

    3505. [NOIP2013模拟11.4A组]积木(brick) (File IO): input:brick.in output:brick.out Time Limits: 1000 ms Me ...

  9. YiGo表单建立

    做一个请假单表单(下图是最后的成品图) 表单的类型 实体表单 1.可存储 2.可编辑 虚拟表单 视图(不可存储数据,只有显示功能) 不可编辑 字典 报表 备注 :一张表单是实体还是虚拟取决于其数据对象 ...

  10. SQL数据库中的增删改查总结1

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into]<表名> [列名] values <列值> 例:insert into Strdents ...