马冲的博客

导航

Js

1.javascript和Java的关系

1)雷锋和雷峰塔的关系(无关系);

2)Java年龄比JavaScript大;

2.基础知识

1)是一门语言,脚本语言弱类型(数据类型自动转换),解释性语言(和php一样直接可以运行 不需要编译),是一种基于对象的语言(php为面向对象的语言)

2)ECMA 欧洲计算机组织:ECMA标准 ECMA262版本

3)ECMA262标准--->ECMAscript(该标准只定义语法 不定义输入和输出)

 

 

3.学习流程

1)基本语法

2)BOM的操作(浏览器对象模型)

3)DOM的操作(文档对象模型)

4)Ajax无刷新操作

5)jQuery 一个JS框架

4.作用

1)页面效果美化

2)表单数据验证

3)特效制作(瀑布流)

5.优点

1)弱类型语言-数据转换方便

2)跨平台的语言

3)比较安全的语言(不能执行系统文件)

6.缺点

1)操作的局限性,只能操作宿主内容

2)兼容性(每个浏览器对JavaScript的实现都是不一样的IE/6/7/8/9/10/11/Firebox/chrome/opera)

7.学习

1)使用标签<script></script> 必须成对出现 否则可能导致页面错误

2)标签可以出现在任何位置

3)<noscript></noscript>在不能使用js的情况下会显示此标签中内容

4)Type属性 用于声明脚本的MIME类型

5)Src属性 用于引入外部的js文件(js文件没有固定后缀,常用js)

6)Charset属性 用于设定外部引入js文件的字符集(基本不用)

7)Defer属性 延迟脚本属性 将外部脚本的执行时间延迟到页面其他代码执行之后(改变执行顺序

8)Async属性 异步脚本属性 改变文件的下载属性,可以提升文件的下载优先级(改变下载顺序

 

8.异步脚本---使用async属性的脚本就是异步脚本.该脚本会改变文件的下载优先级,无需等待其他文件下载 完毕即可下载.(异步脚本只改变下载顺序,不改变执行顺序.)

 

9.延迟脚本---使用defer属性的脚本就是延迟脚本.会使得当前脚本在页面其他内容加载完毕之后才去运 行.(延迟脚本只改变执行顺序,不改变下载顺序.)

 

10.标签的位置

1)head中 body内外

2)将所有脚本都存放在head头

A)维护方便

B)保证先加载完js文件再执行html代码

C)如果有大量的js代码 可能导致页面js加载时间长 影响页面显示

3)将所有脚本都存放在body中

A)文件下载比较分散,不会出现长时间等待,用户体验较好.

B)可以方便的在某些元素出现之后再调用对该元素进行操作的脚本.

C)缺点:不方便维护.

4)推荐-----在head和body都存放js脚本

A)将部分JS代码在head头中(必须提前准备好的JS,例如jquery)

B)将部分需要在元素之后操作的JS放在body体中.方便操作

 

11.<noscript> 标签

当浏览器不支持JS操作的时候,会显示该标签的内容用于提示用户.  这类标签统一称为后备内容标签.

 

JS的语法规则

1.变量相关内容

a) Js中变量的声明规范适合所有JS其他内容的声明.

b) 1.JS中的变量时严格区分大小写的!!!~

c) 2.只能使用英文,不能使用中文

d) 3.可以使用数字,但能用数字开头

e) 4.可以使用特殊字符,除了_$

f) 5.变量的命名要有意义

g) 6.声明JS变量必须使用var关键字

h) 7.命名时尽量使用驼峰命名法.

 

2.js的注释

单行注释    //JS的单行注释

多行注释

/*

Js的多行注释~

*/

 

3.JS的命令执行符号

一种是分号(真实的)

一种是回车(特定情况下补充分号的一种命令执行符)

 

强烈推荐写分号,如果不写分号,程序会自动在回车的位置进行判断是否该结束命令,如果是会隐式的增加分号作为结束符。

4.保留字和关键字:

为了防止JS中的命名和保留关键字冲突,所有必须了解所有的保留字和关键字

为了防止和保留关键字冲突,可以使用如下方法

1.使用大写来区分保留关键字

2.使用特殊字符区分 加$或者_,增加其他字符也可以

 

JS的数据类型:

JS的数据类型分类:

1.可以分为1种数据类型

2.可以分为2种数据类型

3.可以分为6种数据类型

4.可以分为N种数据类型

 

 

一种数据类型:

如果JS数据类型只有一种,那么这种类型就是对象类型

JS是基于对象的语言,所有的数据类型都是对象,即使不是对象在运算过程中也都会变为对象.

 

两种数据类型

基本数据类型和引用数据类型

六种数据类型

使用typeof 运算符检测类型的结果只有6个

Undefined类型

Boolean类型

Number类型

String类型

Function 类型

Object类型

N种数据类型:

Undefined类型

具有一个唯一的值:undefined

能够得到undefined值的方法:

1.直接赋值变量为undefined值

2.声明变量但不赋值

Boolean类型

布尔类型只有2个值: true和false

注意:JS中布尔值必须都小写

Number类型:

Number有三种值:整型浮点型NaN类型

整型:

var val=250;//十进制声明

var val=0777;//八进制声明

var val=0XFF;//16进制声明

浮点型:

var val=3.3;//小数方式

var val=3.14E10;//科学计数

var val=3.;//小数方式 简写方式

var val=.3;//小数方式 简写方式

 

NaN类型

NaN 表示 Not   a  Number

具有唯一的值:NaN

作用:为了防止程序的报错,添加的容错类型,看到了NaN一般表示程序运算出错~

获取NaN的方式:

1.直接赋值NaN

2.错误运算可能导致NaN

3.任意数值和NaN进行任意运算结果都是NaN

 

NaN类型的特点:

1.NaN不等于任何值,包括NaN本身,不能用于判断

2.任意数值和NaN进行任意运算结果都是NaN

3.isNaN() 函数是专门用于检测值是否是NaN的唯一方法

 

String类型

字符串的声明方式:

单引号声明和双引号声明方式

特征:

单双引号都可解析转义字符

单双引号都不能解释变量.

单双引号的效果在JS中完全一致,没有效率问题,推荐使用单引号。因为HTML使用双引号,而JS中经常需要处理HTML字符串的内容.

 

Function 类型:

JS中的函数分为2种声明函数/表达式函数(匿名函数)

//声明函数

function val(){

alert('这是一个函数');

}

 

//匿名函数 表达式函数

var val=function(){

alert('这是一个函数');

}

 

Object类型

什么是对象?对象就是数据和功能的集合.

如何获取一个对象?

必须记住:JS中没有类的概念。

JS的对象是通过实例化一个构造方法得到的对象~!

Var 变量=new Object()  //实例化一个空白对象

 

 

 

 

posted on 2018-11-07 00:11  马冲的博客  阅读(197)  评论(0编辑  收藏  举报