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. Effective Java 第三版——62. 当有其他更合适的类型时就不用字符串

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  2. 批量替换存储过程内容脚本sp_SqlReplace

    开始 在数据库开发过程中,如果某一个表字段名被重命名.那么在使用到该字段的存储过程,对应的表字段名也要修改. 当存在多个存储都有使用该表字段,需要逐个去修改替换,是一件比较繁琐的事情,我们需要一个能实 ...

  3. MySQL字符集不一致的解决办法总结

    用SHOW CREATE TABLE table_name;可以看出具体的字符集设置. 错误代码: Illegal mix of collations (utf8mb4_unicode_ci,IMPL ...

  4. Java JDK下载、安装与环境变量配置

    https://blog.csdn.net/siwuxie095/article/details/53386227 https://blog.csdn.net/liudongdong19/articl ...

  5. 我的IntelliJ IDEA 设置

    1.关闭代码折叠 2.设置代码格式 3.函数参数提醒

  6. return返回两个三元表达式的和,返回不正确,同样要注意在JavaScript中,也是如此

    public string b() { string b = ""; "; } public int c() { public string b() { string b ...

  7. [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存

    sql server 统计出来的内存,不管是这个,还是dbcc memorystatus,和进程管理器中内存差距很大,差不多有70G的差异. 具体原因不止,可能是内存泄漏,目前只能通过重启服务解决   ...

  8. Git Pro深入浅出(三)

    七.自己定义Git 前面已经阐述了Git基本的运作机制和使用方式,介绍了很多Git提供的工具来帮助你简单且有效地使用它.本部分将演示怎样借助Git的一些重要的配置方法和钩子机制,来满足自己定义的需求. ...

  9. 【GMT43智能液晶模块】例程十三:FATFS实验——文件操作

    实验原理: STM32F429上带有SDIO控制器,GMT43液晶模块上将SDIO连接到TF卡座.本实验 将Micro SD卡插入TF卡座上即可.通过FATFS创建test.txt文件,并且写入数据0 ...

  10. 【转】JAVA反射与注解

    转载自:https://www.daidingkang.cc/2017/07/18/java-reflection-annotations/ 前言 现在在我们构建自己或公司的项目中,或多或少都会依赖几 ...