Javascript笔记
Javascript是什么,能干什么
一个网页的结构,是通过html决定的
脑袋,手脚,身体
Css决定了这个网页的样式
是高还是矮,是胖还是瘦,是黑还是白
这个网页的行为是通过Javascrip决定的
走路,跑步,眨眼睛
Javascri的发展史
它最初由Netscape的Brendan Eich设计。JavaScript是甲骨文公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,浏览器对象模型。 [8]
Netscape在最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似,是当时Netscape为了营销考虑与Sun微系统达成协议的结果。为了取得技术优势,微软推出了JScript来迎战JavaScript的脚本语言。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的脚本语言来推广和宣传,但是JavaScript具有非常丰富的特性。 [9]
发展初期,JavaScript的标准并未确定,同期有Netscape的JavaScript,微软的JScript和CEnvi的ScriptEase三足鼎立。1997年,在ECMA(欧洲计算机制造商协会)的协调下,由Netscape、Sun、微软、Borland组成的工作组确定统一标准:ECMA-262。
Javascri的使用
在前端开发中,javascript不能单独运行(除非是单独安装了javascript的运行环境)
Javascript必须挂载在网页上
HTML引入JavaScript代码,有两种方式
方式一:内部引用
使用script标签,把
注意:内部引用的话要把代码放在网页的最下层
因为代码的运行是从上到下的
而JavaScript是没有样式的,我们看不到它
所有说如果把代码放在网页最上方的话会造成因编译JS代码导致的网页加载速度变慢
方式二:外部引用
- 将JavaScript代码单独放在js的文件中
- 在html中引入JS文件
注意:在外部引用的时候,都是放在body的外面,也就是说下面或者下面都可以
在企业开发中,一般都使用外部引入,这样做html与JavaScript是分开的
有利于分工合作,更方便后期的维护
程序设计的基础
数据类型与变量
计算机程序就是处理现实生活中各种的数据
数据包含几个属性:名字,值,类型
因为生活中的数据并不是一成不变的所以说我们JavaScript里就有变量和他对应
变量
Var variable的简写
变量的命名:
规则:
- 一般情况下,变量名由大小写字母与数字组成,也可以使用¥%特殊字符
- 但是呢,变量名不能以数字开头的,这样会与八进制或十六进制冲突
- 关键字不能用,关键字这个名字已经被JavaScript内部使用了
规范:
- 起名要见名思意,看到名字就知道这个变量是用来干嘛的
- 要使用英文单词,不要去使用拼音,也不要使用中文
- 小驼峰:首字母小写,其他单词首字母大写
数据类型
变量的类型是由变量的值来决定,不同的类型分配给储存空间的大小也是不同的
字符串string
字符串是以单引号或者双引号括起来的任意文本
“asd” “zhangsan”+”feng”
数字number
数字:整数与小数,但在javascrpt里不区分整数与小数,统一number
十进制 二进制 八进制 十六进制都算数字
布尔类型Boolean
Boolean里面值只有两个,trus/false,表示真或者假
未定义undefin
因为javascript中的变量的类型是由他的值来决定的,如果一个变量没有给值,
那他就是未定义
判断类型:typeof
字符串类型string
alert(typeof(price))//数字类型number
alert(typeof(num))//数字类型number
alert(typeof(success))//布尔类型boolean
alert(typeof(x))//未定义undefin
对象类型:
对象类型是很复杂的一个类型
怎么去描述一个人,这个人有身高,体重,年龄,这时候就需要一个对象属性
一切皆对象,对象包含属性的
人对象:身高,体重,年龄
狗对象:名字,花色,年龄
学生对象:学号,班级,成绩
如何访问对象:
对象名称:属性名
注意:创建对象时对象属性用逗号分割,而不是分号
最好在代码开始就声明使所有的变量
语句与注释
语句:
一行一行的代码就要语句
虽然javscript不写分号没有问题,但是到了羡慕上线代码压缩的时候就会出现问题
所以说要写上分号
注释:
对代码的解释,为了让你和你同事可以很轻松的看懂你的代码
注释不规范,同事两行泪
注释写与不写都不会影响代码的运行,注释与代码的结果没有关系
当然了,也可以用来阻止代码的运行(注释掉将要执行的代码)
方式一:单行注释
在语句最前面打上两个/
方式二:多行注释/*
运算符
-+/*
逻辑运算符
++(自增),--(自减)
N++等于n=n+1
n—等于n=n-1
++n与—n
N++与++n的区别
++在前面,先加在用,++在后面,先用在加
不管++在前面还是后面,主要运行了,数值都会增加
赋值运算符
在javascript里等于号代表赋值,==代表等于
复合赋值运算符:+=,-=,*=,/=
N+=5
关系运算符
常见关系运算符:<> ,<=,>=
判断两个数字是否相等,使用两个等于号(==)而不是一个等于号(=是赋值)
Javascript特有:
===:数值和类型全都等于才true
!==
重点===和==的区别
==只比较值
===比较值和类型
逻辑运算符
比如说有一场考试,上午一场,下午一场
如果说下午和上午都及格看才算过
与运算(&&)并且 所有条件都满足,结果才成立
如果说下午或者下午及格一场就算过
或运算(||)或者 只要有一个条件满足,就成立
三目运算符(三元运算符)
表示式?结果1:结果2
如果表达式运行的结果是true,运行结果1
如果表达式运行的结果是false ,运行结果2