写在前面
- 学习任何一门语言都应该了解其历史,其特点,这些东西看似微不足道,但是也是学习的基石,本文主要简单归纳了一些特点,以及JavaScript结合HTML的使用,本文只是简单归纳,尚且有诸多不足,还请看官多多包涵,留言提出以便交流,谢谢!
1.1 JavaScript是什么?
- JavaScript主要用于HTML的页面,嵌入在HTML的源码中。
- JavaScript是因特网上最流行的脚本语言,它存在于全世界所有 Web 浏览器中,能够增强用户与 Web 站点和 Web 应用程序之间的交互。
- JS是弱类型语言,没有类型声明,它的变量不必具有一个明确的类型。
- JS是脚本语言,换句话说,可以用来编程的并且直接执行源代码的语言,就是脚本语言。
- JS也是解释性的语言。何为解释性语言?是在运行的时候将程序直接翻译成机器的语言
- JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言,可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。
- HTML5的出现更是突出了JavaScript的重要性,例如HTML5的绘图支持、本地存储、离线应用、客户端通信等,都大量使用了JavaScript。
1.2JavaScript历史
- 基本语法:借鉴C语言和Java语言。
- 数据结构:借鉴Java语言,包括将值分成原始值和对象两大类。
- 函数的用法:借鉴Scheme语言和Awk语言,将函数当作第一等公民,并引入闭包。
- 原型继承模型:借鉴Self语言(Smalltalk的一种变种)。
- 正则表达式:借鉴Perl语言。
- 字符串和数组处理:借鉴Python语言。
1.3JavaScript主要特点
- 1、简单性
- 2、安全性
- 3、动态性
- 4、跨平台性
HTML如何使用JS
有三种使用js的方法
1、使用行间方式
<button onclick="javascript:alert('aaa');">點我</button>
2、内部添加
<script type="text/javascript"> //js代碼 alert("hello"); doucument.getElementById("btn").onclick = function(){ alert("nihao"); } </script>
3、引用外部的js文件
<scirpt src="js/hello.js" type="text/javascript" charset="utf-8"></scirpt>
引用外部文件的时候,标签必须有开始标签和结束标签。而且开始和结束之间不要再写js代码,即使写了,也不会执行。
- 注意: 一个html中,可以同时使用多个script标签,这些标签中的js代码是顺序执行。
- 变量存储在什么地方: 内存
- var 变量名;
数据类型:
- 简单数据类型(基本数据类型)
- Null:代表一个空指向 null
- Undefined:undefined 一个变量声明,但是没有赋值,就是undefined
- Number:数字
- Boolean:表示一种逻辑上的正确和错误。 true false
- String:表示一串unicode的字符。
(ES6:symbol)
复杂数据类型
- 对象
标识符
- 所谓标识符,就是指变量、函数、属性的名字,或者函数的参数名字。
- 规则:
- 第一个字母必须是字母、下划线(_)、美元符号($)
- 其他字母可以是数字、字母、下划线和美元符号
- JavaScript是区分大小写的。即 a和A是完全两个不同的标示符。
- 不能是关键字和保留子。
- 作为惯例,ECMAScript 标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个单词的首字母大写,
firstSecond myCar doSomethingImportant
注意:构造函数的首字母一般使用大写字母开头。
1.只能用数字、字母、下划线、$
2.不能使用数字开头
3.区分大小写
4.不能用关键字
5.驼峰命名法
JavaScript中几个用于调试输出的常用API
警告框:alert(xx);
- 警告框经常用于确保用户可以得到某些信息。
- 警告框出现后,用户需要点击确定按钮才能继续进行操作。
确认框:confirm(xx);
- 确认框用于使用户可以验证或者接受某些信息。
- 当确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。
- 如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。
输入框: prompt(xx,默认值);
- 提示框经常用于提示用户在进入页面前输入某个值。
- 当提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。
- 如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。
向控制台输出结果:console.log(“xxx”)
console.log("正在向控制台打印数据: 哈哈哈");注释笔记
/*
js有两种注释:
单行注释: // 注释
多行注释:和css一样。
*/
alert("你好"); //调用了内置函数
/*var v = confirm("你确定要退出当前页面吗?"); //这函数(方法) 返回值一个 true 点击了确定 或者 false 点击取消 比alert多了一个取消
alert(v);*/
//输入框 ctrl+/ 单行注释 ctrl+shift+/ 多行注释
/*var text = prompt(); //弹出一个输入框,返回值就是用户在输入框中输入的内容
alert(text);
//参数1:是一个提示 参数2:输入框中的默认值
var text1 = prompt('请输入你的密码,我来盗取', "000000");*/
//向控制台输出:
/*console.log("你好");
var a = 20;*/
//直接向页面输出
// document.write("<h1 style='color: cornflowerblue;'>欢迎来到js的世界</h1>");
"use strict" //使用严格模式,如果浏览器支持,就使用,不支持,就当没看到
/*var a; //声明一个变量。 a是变量名
a = 10; //给变量赋值。 把10赋给a
a = 20; //给变量赋值,新的值会覆盖旧的值。
a = "狗狗"; // 用双引号或单引号括起来的字符,称之为字符串。 不推荐在同一个变量中存储不同的类型的数据。
//也可以使用var一次性的声明多个变量
/*var m, n, p = "a", a = 10;
alert(m + " " + n + " " + p + " " + a);
//ES6 模板字符串
// alert(`结果是:${p} ${a}`);*/
//声明变量的时候,var是可以省略的,自动变成了全局变量。(在非严格模式)。 严格模式下,会报错。
//以后写代码,不管什么情况,都不要省略var
/*var num;
// 声明提前:把变量和函数声明提前到脚本的第一行。 赋值操作的仍然在他原来的位置。
alert(num);
num = 20;*/
//类型检测:如何知道这个变量到底存储的是什么样的数据?
var msg = typeof num; //测试一个变量的数据类型: number、boolean object、array、string、function
alert(msg);
alert(typeof s); // string*/