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. centos cron 自动执行脚本异常 命令不生效的解决办法

    办法: 1.sh脚本加入 source /etc/profile 2.非系统命令,要写绝对路径

  2. gtest环境安装

    gtest全称Google Test,是Google的C++测试框架,有很多优秀的软件都会依赖这个环境编译或者在开发中也会用到,gtest的编译非常简单,下面简单说明一下安装过程. gtest git ...

  3. wifipineapple外接网卡上网

    买了一台wifipineapple, pineapple有两种版本, 第一种是3G版本,可以外接3G上网卡, 还有一种是wifi版本, 包含一个物理的网络插槽, 我买的是第二种 wifipineapp ...

  4. 对Faster R-CNN的理解(1)

    目标检测是一种基于目标几何和统计特征的图像分割,最新的进展一般是通过R-CNN(基于区域的卷积神经网络)来实现的,其中最重要的方法之一是Faster R-CNN. 1. 总体结构 Faster R-C ...

  5. 基于netty实现的长连接,心跳机制及重连机制

    技术:maven3.0.5 + netty4.1.33 + jdk1.8   概述 Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速 ...

  6. 关于Discuz! X系列UC_Server 本地文件包含漏洞

    最近又发现discuz论坛被挂马了,决定好好研究一下discuz的漏洞,技术债始终要还是要还的 一.问题发现 快要睡觉的时候,突然收到一封邮件,发现服务器上的文件被篡改了,立即登录服务器,清空恶意文件 ...

  7. keil软件错误总结.doc

    KEIL编译错误信息表   错误代码及错误信息 错误释义 error 1: Out of memory 内存溢出 error 2: Identifier expected 缺标识符 error 3: ...

  8. SQL DCL 数据控制语句

    前言 DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句.这些语句定义了数据库.表.字段.用户的访问权限和安全级别.主要的语句关键字包 ...

  9. 分析轮子(七)- RandomAccess.java

    1:还是先上一个类的继承关系比较图吧! 2:看一下 RandomAccess.java 的源码,空空如也,什么都没有,那她有什么用处呢? /** * Marker interface used by ...

  10. hdu 3068 最长回文(manacher&amp;最长回文子串)

    最长回文 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...