1、JavaScript 基于对象和事件驱动的脚步语言,主要应用在客户端
特点:交互性(信息的动态交互)、安全性(不可直接访问本地硬盘)、跨平台性(只要可以解析js的浏览器
都可以执行,与平台无关)

2、JavaScript与java不同:
js是基于对象的,java是面向对象的
js只需解析就可以执行,而java需要先编译成字节码文件,再执行。
js是一种弱类型语言,java是强类型语言

3、JavaScript语言组成(3部分组成)
核心(ECMAscript)
文档对象模型(DOM)
浏览器对象模型(BOM)

4、js编写
HTML的<script>标签用于把js插入HTML页面当中
编写js两种方式:内部JS和外部JS
内部JS程序,在HTML源码中
<script type="text/javascript">
alert(1);
</script>
language属性不赞成使用,请使用type属性替代

外部JS程序,在HTML中引入单独的JS程序
<script type="text/javascript" src="1.js"></script>
1.js内容
alert(2);
在引用外部JS的script标签间不能编写JavaScript代码

5、基本语法
变量是弱类型:var a = 10;var b = true; var c = "hello";
注释:单行注释以双斜杆开头(//) 多行注释以(/*)开头,以(*/)结尾

5、JS的数据类型
和java一样存在两种数据类型:
原始值(存储在栈stack中简单数据)
引用值(存储在堆heap中对象)

5种原始数据:Undefined(定义未初始化/访问对象不存在属性)、Null(访问的对象不存在)、Boolean、Number和String
JS中字符串是原始数据类型

查看变量类型: typeof(变量名称),所有引用对象都是object
通过instanceof运算符解决typeof对象类型判断问题

6、JS语句
=赋值,switch语句与java一样,for也一样,但定义变量使用var,不要写错java的int

7、JS运算符
js除法中没有整数,会出现小数(都是数字类型)
字符串与数字相加,是字符串链接;如果相减,字符串直接转换成数字再相减。
Boolean运算,false就是0或null,非0非空是true,默认用1显示
++ --等和java一样

8、JS数组
两种顶底方式:
var arr = [1,2,4];定义一个数组,包含三个元素
var arr = new Array(5);定义一个数组,数组长度是5
var arr = new Array(1,2,4);定义数组,包含三个元素
属性length

9、JS函数定义
方式一:
function add(a,b){
return a+b;
}
方式二:
var add = function(a,b){return a+b;}
方式三:不推荐
var add = new Function('a','b',return a+b;);
最后一个参数是函数体,之前是可变参数

10、JS函数的重载
Java重载:方法名相同 参数个数 或参数 类型不同
JavaScript中是否存在重载
需要使用一个对象arguments
arguments就是一个数组,用于存储函数传入的参数的个数

11、JS全局变量和局部变量
全局变量:在<script>标签中间定义的变量,在标签内乃至整个页面都有效
局部变量:在函数体内定义的变量

12、JS对象之String
String对象的方法分为两类:1、与html有关的方法;2、另一种和java的string相似的方法

13、JS对象之Array对象
见8,常用方法有:
concat() 连接两个或更多的数组,并返回结果。
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop() 删除并返回数组的最后一个元素
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reverse()颠倒数组中元素的顺序

14、JS对象之Date对象
创建Date对象:var date = new Date();
常用方法:
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)
getMonth() 从 Date 对象返回月份 (0 ~ 11)
getFullYear() 从 Date 对象以四位数字返回年份
getTime() 返回 1970 年 1 月 1 日至今的毫秒数
常用在防止浏览器缓存时候
setTime() 根据毫秒数设置时间
toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串

15、JS对象之Math对象
Math对象中的方法全部是静态方法,所以不用new直接调用即可。
常用方法:
ceil(x) 对一个数进行上舍入。
floor(x) 对一个数进行下舍入。
round(x) 把一个数四舍五入为最接近的整数
pow(x,y) 返回 x 的 y 次幂
random() 返回 0 ~ 1 之间的随机数

16、JS全局函数global
(1)encodeURI / decodeURI 编解码URI
进行url跳转时可以整体使用encodeURI

(2)escape / unescape 对字符串进行unicode编码
1、escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
2、encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
3、encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

isNaN 检查某个值是否为数字
eval 把javascript 字符串作为脚本代码来执行
parseInt方法:把字符串转换成整数

二、JavaScript基础(1)的更多相关文章

  1. 使用jQuery快速高效制作网页交互特效第一章JavaScript基础

    JavaScript 一.JavaScript概念: JavaScript面向对象事件驱动具有安全性的脚本语言,面向对象 JavaScript特点: 1.解释性语言,边运行边解释 2.和HTML页面实 ...

  2. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  3. JavaScript基础笔记二

    一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...

  4. 2、JavaScript 基础二 (从零学习JavaScript)

     11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规 ...

  5. 前端(十二)—— JavaScript基础操作:if语句、for循环、while循环、for...in、for...of、异常处理、函数、事件、JS选择器、JS操作页面样式

    JavaScript基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通 ...

  6. JavaScript 基础学习(二)js 和 html 的结合方式

    第一种 使用一个标签 <script type="text/javascript"> js代码; </script> 第二种 使用 script 标签,引入 ...

  7. JavaScript 基础 学习 (二)

    JavaScript 基础 学习 节点属性 ​ 每一个节点都有自己的特点 ​ 这个节点属性就记录着属于自己节点的特点 1. nodeType(以一个数字来表示这个节点类型) ​ 语法:节点.nodeT ...

  8. JavaScript基础

    JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...

  9. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  10. javascript 基础

    javascript概述: javascript历史: * 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEas ...

随机推荐

  1. Java RandomAccessFile与MappedByteBuffer

    Java RandomAccessFile与MappedByteBuffer https://www.cnblogs.com/guazi/p/6838915.html

  2. List集合序列排序的两种方法

    首先讲一下Comparable接口和Comparator接口,以及他们之间的差异.有助于Collections.sort()方法的使用.请参考 1.Comparable自然规则排序//在自定义类Stu ...

  3. docker pureftpd

    pureftpd: image: vimagick/pure-ftpd ports: - "21:21" volumes: - ./data/ftpuser:/home/ftpus ...

  4. 【C++】C++中的流

    目录结构: contents structure [-] 1.IO类 IO对象无拷贝状态 条件状态 文件流 文件模式 string流 1.IO类 除了istream和ostream之外,标准库还定义了 ...

  5. Swift Enum 枚举

    前言 枚举是一种自定义的数据类型,在 Swift 中枚举类型拥有相当高的自由度.在 Swift 语言中枚举是一级类型,它拥有在其他语言中只有类才拥有的一些特性,比如实例方法,实例构造器等. 枚举声明的 ...

  6. HTML5+CSS3 效果网站集合

    1.jquery插件库 HTML5制作3D樱花漫天飞舞  http://www.jq22.com/jquery-info3547 2.17素材网   http://www.17sucai.com/pi ...

  7. phpunit assert断言分类整理

    布尔类型 方法名 含义 参数 返回值 assertTrue 断言为真     assertFalse 断言为假     NULL类型 方法名 含义 参数 返回值 assertNull 断言为NULL ...

  8. git学习小游戏

    学习git可以试试这个游戏:https://learngitbranching.js.org/

  9. office2007每次打开都要配置文件,怎么取消配置(可行)

    取消打开软件进行配置的方法 打开“我的电脑”——“C盘”— —“Program Files\Common Files\ Microsoft Shared\OFFICE12\Office Setup C ...

  10. 【转】Eclipse 乱码 解决方案总结(UTF8 -- GBK)

    转载自: http://www.cnblogs.com/bluestorm/archive/2012/09/20/2695567.html UTF8 --> GBK;   GBK --> ...