二、JavaScript基础(1)
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)的更多相关文章
- 使用jQuery快速高效制作网页交互特效第一章JavaScript基础
JavaScript 一.JavaScript概念: JavaScript面向对象事件驱动具有安全性的脚本语言,面向对象 JavaScript特点: 1.解释性语言,边运行边解释 2.和HTML页面实 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- JavaScript基础笔记二
一.函数返回值1.什么是函数返回值 函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...
- 2、JavaScript 基础二 (从零学习JavaScript)
11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规 ...
- 前端(十二)—— JavaScript基础操作:if语句、for循环、while循环、for...in、for...of、异常处理、函数、事件、JS选择器、JS操作页面样式
JavaScript基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通 ...
- JavaScript 基础学习(二)js 和 html 的结合方式
第一种 使用一个标签 <script type="text/javascript"> js代码; </script> 第二种 使用 script 标签,引入 ...
- JavaScript 基础 学习 (二)
JavaScript 基础 学习 节点属性 每一个节点都有自己的特点 这个节点属性就记录着属于自己节点的特点 1. nodeType(以一个数字来表示这个节点类型) 语法:节点.nodeT ...
- JavaScript基础
JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...
- 前端之JavaScript基础
前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...
- javascript 基础
javascript概述: javascript历史: * 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEas ...
随机推荐
- Effective Java 第三版——62. 当有其他更合适的类型时就不用字符串
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
- 批量替换存储过程内容脚本sp_SqlReplace
开始 在数据库开发过程中,如果某一个表字段名被重命名.那么在使用到该字段的存储过程,对应的表字段名也要修改. 当存在多个存储都有使用该表字段,需要逐个去修改替换,是一件比较繁琐的事情,我们需要一个能实 ...
- MySQL字符集不一致的解决办法总结
用SHOW CREATE TABLE table_name;可以看出具体的字符集设置. 错误代码: Illegal mix of collations (utf8mb4_unicode_ci,IMPL ...
- Java JDK下载、安装与环境变量配置
https://blog.csdn.net/siwuxie095/article/details/53386227 https://blog.csdn.net/liudongdong19/articl ...
- 我的IntelliJ IDEA 设置
1.关闭代码折叠 2.设置代码格式 3.函数参数提醒
- return返回两个三元表达式的和,返回不正确,同样要注意在JavaScript中,也是如此
public string b() { string b = ""; "; } public int c() { public string b() { string b ...
- [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存
sql server 统计出来的内存,不管是这个,还是dbcc memorystatus,和进程管理器中内存差距很大,差不多有70G的差异. 具体原因不止,可能是内存泄漏,目前只能通过重启服务解决 ...
- Git Pro深入浅出(三)
七.自己定义Git 前面已经阐述了Git基本的运作机制和使用方式,介绍了很多Git提供的工具来帮助你简单且有效地使用它.本部分将演示怎样借助Git的一些重要的配置方法和钩子机制,来满足自己定义的需求. ...
- 【GMT43智能液晶模块】例程十三:FATFS实验——文件操作
实验原理: STM32F429上带有SDIO控制器,GMT43液晶模块上将SDIO连接到TF卡座.本实验 将Micro SD卡插入TF卡座上即可.通过FATFS创建test.txt文件,并且写入数据0 ...
- 【转】JAVA反射与注解
转载自:https://www.daidingkang.cc/2017/07/18/java-reflection-annotations/ 前言 现在在我们构建自己或公司的项目中,或多或少都会依赖几 ...