1.Javascript是一门面向对象的,跨平台的脚本语言
2.JS历史
1995 最初由Netscape(网景公司)的Brendan Eich设计 为Netscape Navigator 2.0开发LiveScript
Netscape Navigator 2.0 即将正式发布前,Netscape 将其更名为 JavaScript
因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript
ECMA: European Computer Manufacturers Association欧洲计算机制造商协会
3.JS特点
解释性脚本语言
运行在浏览器(浏览器内核带有js解释器,Chrome v8引擎)
弱类型语言(松散型)
事件驱动(动态)
跨平台
4.JS用途
嵌入动态文本于HTML页面
对浏览器事件做出响应
读写HTML元素
在数据被提交到服务器之前验证数据
检测访客的浏览器信息(可以使用js代码判断浏览器类型)
控制cookies,包括创建和修改等
基于Node.js技术进行服务器端编程
####视觉交互、数据交互、node.js(后台)
5.JS和H5的关系
页面三要素
结构:HTML
表现:CSS
行为:JS
6.JS书写位置
内部js
<script>
document.write('hello world')
</script>
外部js
console.log('hello world');
<script src="js/index.js"></script>
内联js
<a href="alert('hello world')">超链接</a>
<div onclick="alert('hello world')">box</div>
7.向页面输出内容
document.write("hello world");
document.write("<strong>我很man</strong>");
转义字符:
< || >
document.write("<strong>我很man</strong>");
8.变量
var a = "hello world"; 这句话分成两个部分。
左值:在等号左侧,是声明一个变量并且起名
右值 :在等号右侧,是存放进变量中的东西(给变量赋值)
变量的类型:
(1)数字类型(number):1234567890 int(integer):整型 float:浮点型(小数)
(2)字符类型(string):'123456',"字符串类型",.....(有单引号或者双引号) 如果str本身是一个不满足数字的字符串得到NaN
(3) 未定义类型(undefined):这是一种特殊类型,当变量被声明但是没有被赋值的时候,那么该变量的类型为undefined;
(4)布尔值类型(boolean):true,false;布尔值的true会转换成1,false就是0
(5)对象类型:object;
(6) 数组类型(array);
(7)函数类型:Function;
(8)symbol --- ES6新增
关键字 typeof
typeof返回有六种值: number、string、boolean、undefined、object、function
js有五(六)种基本数据类型:number、string、boolean、undefined、null、(symbol)两种引用类型:object、function.
JS有两种特殊数据类型: null、undefined
变量命名规范
驼峰命名法: - 小驼峰:多个单词组成一个变量名的时候除了第一个单词以外其他单词首字母都大写
普通变量都用小驼峰 var userName = 'zhangsan'
- 大驼峰:每一个单词的首字母都大写
第二个规则:
变量名首字符必须为字母(a-z A-Z),下划线( _ ),或者美元符号( $ )开始
余下的字符可以是下划线、美元符号或任何字母或数字字符
变量名大小写敏感(var a 和 var A 是不一样的两个变量)
关键字:这些关键字用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符。
保留字:未来可能作为,标识符存在。
9.运算符
加、减、乘、除、求余/取模(+ 、- 、* 、/ 、%)+号具有二义性:数字相加;字符串拼接;
关系运算符:
==(相等) 、!=(不等于)、<(小于) 、>(大于) 、<=(小于或者等于) 、>=(大于或者等于)
= 和 == 以及 === 的区别:
一个等号是赋值,将等号右边的值赋给左边
两个等号是判断相等,相等结果为true,不等为false,==具有隐式类型转换的功能,会把数字转成字符串再比较,只判断值。
三个等号要求全等,不仅值要相等,类型也必须相等
逻辑运算符
逻辑与:&&
必须两个条件均为true结果才为true
逻辑或:||
“或”的意思
只要有一个条件为true结果就为true
必须两个条件均为false结果才为false
逻辑非:!
对本身的结果取反
与逻辑在两个条件均为true时结果才为true,其余情况均为false
或逻辑在两个条件均为false时结果才为false,其余情况均为true