01从零开始学js

趁着这段时间有空,又稍微的总结了一下js的相关知识,很多都是从菜鸟教程学的,如果有不对的地方,欢迎各位大佬指出~
转载请注明出处,谢谢~

一、基本概念:
1、肉机:没有任何安全措施的电脑

2、并发:同时发生请求

3、精灵图:将多张小图放在一张大图上,减轻服务器端的压力。

使用:position用于定位到具体的一张图片上。

4、透明度:

opacity设置div的透明度css3中的属性

filter:Alpha(opacity=50); //兼容IE6

opacity:0.5(这里是一个小数) //部分浏览器不支持

5、Web前端三层来说:,(W3C的规范)

结构层: html 从语义的角度,描述页面结构

样式层: css 从审美的角度,美化页面

行为层:javascript从交互的角度,提升用户体验

6、Javascript执行顺序:从上到下,从左到右
代码放在head里面。

7、开发工具的使用:右键、审查元素、打开开发人员工具,如果页面上有错误就会显示红叉,这个红叉的的出现说明页面上有错误。
如何找到错误?
点击控制台。

8、alert( ):在页面上弹出一句话,如果页面出现弹框,且不能关闭,位置不能改变,说明进程结束。

9、console.log() :在控制上输出信息,用于代码调试。

10、prompt();弹出一个输入框,给用户提供信息输入的位置,即弹出输入框。

直接量:直接以输入的数据为输出结果的数据。

二、数据类型:
1、Js基本数据类型:
在 JavaScript 中有 5 种不同的数据类型:
string、number、boolean、object、function
3 种对象类型:
Object、Date、Array
2 个不包含任何值的数据类型:
null、undefined

说明:
字符串,(string):由字符组成的串。单引号、双引号都可以。
如果要在字符串中输出引号,怎么办?
a、将双引号变为单引号 b、用转译符
常用的转译符:\’:单引号 ,\”:双引号,\t:缩进字符,\n:换行

2、Number:整数、小数
相关方法:(例如:右图)

01从零开始学js
01从零开始学js
“+”的作用:
a、字符串:连接 b、 Number:加法运算 c、字符串+ Number:连接

三、判断数据类型:
typeof( ):可以检测:undefined、boolean、string、object、function、number
可以用括号,也可以不用。
注意:
typeof(array)→object
typeof(null)→object
typeof(NaN)→number
01从零开始学js
注意:
null === undefined // false
null == undefined // true
判断一个变量是否存在:if(typeof a!=“undefined”){}
instanceof( ):检测array等。
变量:用于存储数据。
声明、赋值。
变量命名:字母、数字、下划线。
数字不能开头,也不能使用关键字和保留字。
变量类型:存什么,是什么。
3、boolean:true/false
boolean在内存中存储的格式
true:1;false : 0

4、undefined:没有定义、虽然定义,里面没有东西

5、Null
NaN:非数字,isNaN():判断是否为NaN

自增自减的用法:
i++:先使用,后增加;用的是自增之前的值
即:先把加加去掉,再进行计算
++i:先增加,后使用;用的是自增之后的值
即:先计算加加,后进行计算

逻辑运算符:运算结果为布尔值。
&&(且)、||(或)、!(非)
01从零开始学js

注:从左往右解析的方法是错的 也不是从右往左解析! 而是根据运算符的优先级进行运算!

逻辑运算符的优先级: !> && > ||
算数运算符的优先级:( ) > * / > + -
比较运算符:>(大于)、<(小于)、<=、>= 、
==(等于)、!=(不等于):先转换类型,然后比较
(即:只比较数据的内容,不比较数据的类型)
=(绝对等于):值和类型完全相等
(不绝对等于):值和类型有一个不相等,或两个都不相等;
不转换类型,直接比较
(即:比较数据的内容,也比较数据的类型)
注意:NaN不等于NaN!!

四、类型转换:
1、将字符串转换成数字:
parseInt( ):把一个字符串转化成整数,转换规则:
1、能转换→数字
2、不能转换→NaN
parsefloat():把一个字符串转化为小数

Number( 字符串/数字/布尔值等),转换规则如下:
1、boolean:true/false→1/0
2、null→0
3、Undefined→NaN
4、字符串{1、数字→十进制,前0忽略;2、浮点数→浮点数;
3、空→0 4、其他:NaN}/

2、转换成字符串:
String(数字,字母,变量)
toString( ):直接调用变量方法可以将内容转化为字符串(包装类)

3、Boolean转换:
Boolean( ):
true:非零数字、非空字符串、非空对象
false:数字0、空的字符串、空对象、undefined、NaN

隐式转换
01从零开始学js
var a=”123” a=+a a→数字类型
*也会将字符串类型转换为数值类型

五、数学方法:
Math.pow( x,y):计算X的y次方
注意,为1/2次方!!!
Math.abs( ):计算绝对值
Math.ceil( ):向上取整
Math.floor( ):向下取整
Math.round():四舍五入

六、循环:
for:循环代码块一定的次数
for…in:循环遍历对象(如arr、json)的属性
如for(var i=0;i<arr.length;i++) →for(var i in arr )
while和do-while的区别:do-while至少会执行一遍

01从零开始学js

break //整个循环中断,跳出整个循环
continue //本次循环中断,后面的继续

javascript标签:
01从零开始学js
01从零开始学js

01从零开始学js

七、正则表达式:
01从零开始学js
1、正则表达式修饰符:
i :对大小写不敏感的匹配
g:执行全局匹配
m :执行多行匹配
2、正则表达式模式:
01从零开始学js
01从零开始学js
01从零开始学js
01从零开始学js
正则表达式的基本语法:
两个特殊字符’^’和’$’,分别表示字符串的开始和结束。
\w:用于匹配字母,数字或下划线字符
01从零开始学js
01从零开始学js
01从零开始学js
例如:注册时密码填写验证:
01从零开始学js

应用:表单验证
onSubmit:只能在表单上使用,提交表单前会触发。
onClick:在按钮控件上使用,用来触发点击事件
foucus():当元素获得焦点时,发生focus事件。
在提交表单前,一般都会进行数据验证,可以选择在submit按钮上的onClick中验证,也可以放在onSubmit中验证。但是onClick比onSubmit更早地被触发。
用户点击按钮—》onClick事件—》返回true—》onSubmit事件—>返回true—>提交表单
注意:onSubmit返回false,onClick函数返回false,都不会引起表单提交。

一般步骤:
a、获取文本框:getElementById
b、判断是否为空xx.value==’’
c、写正则表达式
d、用test()方法判断是否符合规则

邮箱的正则表达式:
实例1:只允许英文字母、数字、下划线、英文句号、以及中划线组成
举例:[email protected],邮箱名称部分:
01从零开始学js
01从零开始学js
01从零开始学js
注意:\的用法:
01从零开始学js

Javascript错误
try:语句测试代码块的错误。
catch:语句处理错误。
throw:语句创建自定义错误,或抛出异常!
Javacript语句try和catch是成对出现的。
语法:
try
{有可能出现错误的代码写在这里}
catch{出错后的处理}
01从零开始学js
Javascript变量提升
JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。
JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。
注意:javascript只有声明的变量会提升,初始化的值不会提升。
因此,对于声明而未赋值的变量,其值为undefined。?
Javascript代码并不是一行一行的往下执行。

Javascript执行分为2个步骤:
1、编译(词法解释/预解释)
01从零开始学js
2、执行
01从零开始学js
说明:
var a 发生在编译阶段
a = 'ghostwu’发生在执行阶段.
然后 var a会被提升到当前作用域的最前面,
a = 'ghostwu’留在原地等待执行阶段,

函数常见的2种定义方式:
01从零开始学js

对于同名函数的声明,后面的会覆盖前面的。
需要注意的是,函数优先,虽然函数声明和变量声明都会被提升,
但是函数会首先被提升,然后才是变量。
函数声明的时候,在其前面调用和后面调用都可以;
函数表达式,在其前面调用是不行的。

格式有点混乱,有一些是从其他大佬的博客截图放上去的~ 大家凑合着点看哈~ 如果有错,欢迎指正,谢谢