1.计算机可以帮助人类解决某些问题
2.程序员利用编程语言编写程序发出指令控制计算机来实现这些任务
3.编程语言有机器语言、汇编语言、高级语言
4.高级语言需要一个翻译器转换为计算机识别的机器语言
浏览器分成两部分:渲染引擎和 JS 引擎
渲染引擎:用来解析HTML与CSS,俗称内核,比如 chrome 浏览器的 blink ,老版本的 webkit
JS 引擎:也称为 JS 解释器。 用来读取网页中的JavaScript代码,对其处理后运行,比如 chrome 浏览器的 V8
浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以 JavaScript 语言归为脚本语言,会逐行解释执行。
JavaScript 包括 ECMAScript、DOM、BOM
ECMAScript 是由ECMA 国际( 原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为 JavaScript 或 JScript,但实际上后两者是 ECMAScript 语言的实现和扩展。
ECMAScript:ECMAScript 规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。
BOM (Browser Object Model,简称BOM) 是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。
可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性),如: onclink
注意单双引号的使用:在HTML中我们推荐使用双引号,JS中我们推荐使用单引号
可读性差,在 HTML 中编入 JS 大量代码时,不方便阅读
特殊情况下使用
可以将多行JS代码写到
利于HTML页面代码结构化,把单独JS代码独立到HTML页面之外,既美观,又方便
引用外部JS文件的script标签中间不可以写代码
适合于JS代码量比较大的情况
单行注释//
ctrl + /
多行注释/**/
shift + alt + a
alert()
主要用来显示消息给用户console.log()
用来给程序员看自己运行时的消息var是一个JS关键字,用来声明变量(variable变量的意思)。使用该关键字声明变量后,计算机会自动为变量分配内存空间。
age 是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间
//先声明后赋值
var age;
age = 18;
//声明变量同时赋值为18
var age = 18;
//同时声明多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开。
var age = 18, address ='火影村',salary = 15000;
案例:弹出用户名
Document
1.更新变量
一个变量被重新更新后,它原有的值被覆盖,变量以最后一次赋值为准
2.同时声明多个变量
只需要写一个var,多个变量名之间使用英文逗号隔开
var age=10,name='zs',sex=2;
3.声明变量特殊情况
name有特殊含义,尽量不要作为变量名
变量用来存储值的所在处,它们有名字和数据类型。遍历的数据类型决定了如何将这些值的位存储在计算机的内存中。JavaScript是一种弱类型或者说动态语言。意味着不用提前声明变量的类型,在程序运行过程中,类型被自动确定。
var age = 10; //这是一个数字型
var areYouOk = '使得'; //这是一个字符串
在代码运行时,变量的数据类型是由 JS引擎 根据 = 右边变量值的数据类型来判断 的,运行完毕之后, 变量就确定了数据类型。
JavaScript 拥有动态类型,同时也意味着相同的变量可用作不同的类型
var x = 6; //x为数字 var x = "Bill"; //x为字符串
JS 把数据类型分为两类:
4.1.1数字型进制
最常见的进制有二进制、八进制、十进制、十六进制。
①数字型范围
Number.MAX_VALUE
Number.MIN_VALUE
②数字型的三个特殊值 alert(Infinity); //Infinity(无穷大) alert(-Infinity); //-Infinity(无穷小) alert(NaN); //NaN - Not a Number ,代表任何一个非数值 Infinity ,代表无穷大,大于任何数值 -Infinity ,代表无穷小,小于任何数值 Nan ,Not a Number,代表一个非数值
③isNaN
这个方法用来判断非数字,并且返回一个值,如果是数字返回的是false,如果不是数字返回的是true
x为字符型数字,也会返回false
字符串型可以是引号中的任意文本,其语法为 “双引号” 和 "单引号’’
因为 HTML 标签里面的属性使用的是双引号,JS 这里我们更推荐使用单引号。
①字符串引号嵌套
JS可以用 单引号嵌套双引号,或者用 双引号嵌套单引号(外双内单,外单内双)
var strMsg ='我是一个“高富帅”' //可以用 ' ' 包含 " "
var strMsg2 ="我是'高富帅'" //可以用" " 包含 ''
②字符串转义符
类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。
转义符都是 \ 开头的,常用的转义符及其说明如下:
③字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的 length 属性可以获取整个字符串的长度。
//1.检测获取字符串的长度
var str = 'my name is andy';
console.log(str.length)
④字符串的拼接
注意:字符串 + 任何类型 =拼接之后的新字符串
//2.字符串的拼接 +
console.log('沙漠' + '骆驼');
console.log('pink' + 18)
+
号总结口诀:数值相加,字符相连