今天学习js做了些总结,分享给大家
一、
1.javascript的作用
是基于对象和事件驱动的语言,应用于客户端
基于对象:提供好了很多对象,可以直接拿过来使用,不需要创建
事件驱动: html做网站静态效果,javascript动态效果,,例如:按钮的单击
客户端:专门指的是浏览器
2.js的特点
(1)交互性 - 信息的动态交互
(2)安全性 - js不能访问本地磁盘的文件
(3)跨平台性 - java里面跨平台性,虚拟机
- 只有能够支持js的浏览器,都可以运行
3.javascript和java的区别(雷锋和雷峰塔)
(1)java是sun公司,现在oracle;js是网景公司
(2)JavaScript 是基于对象的,java是面向对象
(3)java是强类型的语言,js是弱类型的语言
- 比如java里面 int i = "10";
- js: var i = 10; var m = "10";
(4)JavaScript只需解析就可以执行,而java需要先编译成字节码文件,再执行
4.javascript的组成
(1)ECMAScript ---有ECMA组织制定的js的语法,语句.....
ECMA : 欧洲计算机协会
(2)BOM - broswer object model: 浏览器对象模型
(3)DOM- document object model:文档对象模型
二、js与html结合方式(*******)
第一种:- 使用一个标签 <script type="text/javascript"> js代码; </script>
第二种:- 使用script标签,引入一个外部的js文件
(1)创建一个js文件1.js,写js代码
(2)引入:<script type="text/javascript" src="1.js"></script>
注意: ** 使用第二种方式时候,就不要在script标签里面写js代码了,不会执行。
三、js原始类型和声明变量(*******)
定义变量 :都使用关键字 var 格式: var 变量名= 变量值
五种原始类型
string: 字符串 var str = "abc";
number:数字类型 var m = 123;
boolean:true和false var flag = true;
null: 空对象 获取对象的引用,null表示对象引用为空 ,所有对象的引用也是object
undefined:未定义 两种情况会出现:
1.定义一个变量,没有赋值
2. 对象属性不存在
typeof( 变量名 ) -- > 获取变量的数据类型
四、js的运算符(*******)
1.js里面不区分整数和小数
2.字符串的相加和相减的操作
NaN --> 非数值 ,例如 字符串参与 除法运算的结果。
var str = "abc"; //提示NaN:表示不是一个数字
alert(str+1); //在java里面操作的结果是 4561 ,在js里面还是 4561
alert(str-1); //相减时候,执行减法的运算
3.boolean类型也可以操作
****如果设置成true,相当于这个值是1
*** 如果设置成false,相当于这个值是0
4.== 和 === 区别
== :比较的值. 而且可以进行简单的类型转换.
===:值相等 而且 类型也要相等.
5.引入知识
直接向页面输出的语句(可以把内容显示在页面上)
* document.write("aaa");
*document.wirte("<hr/>");
** 可以向页面输出变量,固定值和html代码
五、js的语句 (*******)
if判断语句’
=:表示赋值 ==:表示判断
switch语句
结构同java ,在js里面switch语句什么类型都支持都支持
循环语句 for while do-while
六、js数组 (*******)
什么是数组?
- 使用变量,var m = 10;
- java里面的数组 定义 int[] arr = {1,2,3};
定义方式(三种)
第一种: var arr = [1,2,3]; var arr = [1,"4",true];
第二种:使用内置对象 Array对象
var arr1 = new Array(5); //定义一个数组,数组的长度是5
arr1[0] = "1";
第三种:使用内置对象 Array
var arr2 = new Array(3,4,5); //定义一个数组,数组里面的元素是3 4 5
* 数组里面有一个属性 length:获取到数组的长度
* 数组可以存放不同的数据类型的数据
七、js的函数(动态函数和匿名函数) (*******)
在js里面定义函数(方法)有三种方式
(1)使用到一个关键字 function
function 方法名(参数列表) {
方法体;
返回值可有可无(根据实际需要);
}
(2) 匿名函数
var add = function(参数列表) {
方法体和返回值;
}
(3) 动态函数(用的少,了解)
使用到js里面的一个内置对象 Function
var add = new Function("参数列表","方法体和返回值");
八、js的全局变量和局部变量(*******)
全局变量:在script标签里面定义一个变量,这个变量在页面中js部分都可以使用
- 在方法外部使用,在方法内部使用,在另外一个script标签使用
注意: 当定义变量没有使用var ,默认变量是全局的
局部变量:在方法内部定义一个变量,只能在方法内部使用
- 如果在方法的外部调用这个变量,提示出错
- SCRIPT5009: “nn”未定义
使用浏览器的控制台 (按快捷键 F12)
注意:局部变量和全局变量重名,优先选择局部变量
九、js的函数重载(*******)
JS中没有重载
可以模拟重载的现象,利用 js 的一个数组对象
js函数中 参数 可以看做一个数组 多个函数 会存入数组中 并且按照下面的要求 来返回或应用数值
js对象
一、js的String对象(****)
string 对象用于处理文本(字符串)。
string 对象属性:length 字符串的长度
string对象的方法:
与html相关的方法
big() 用大号字体显示字符串。
bold() 使用粗体显示字符串
fontcolor() 使用指定的颜色来显示字符串。
fontsize() 使用指定的尺寸来显示字符串。
与java相似的方法
charAt(下标位置)返回在指定位置的字符。
indexOf(子字符串) 检索字符串。
substring(开始下标,结束下标) 提取字符串中两个指定的索引号之间的字符。
substr(开始下标,截取长度) 从起始索引号提取字符串中指定数目的字符。
split(分割符) :用于把一个字符串分割成字符串数组。
二、js的Array对象 (****)----数组对象
java的数组是不可改变长度的 ,js的数组可以改变长度
length : 设置或返回数组中元素的数目
concat():连接两个或更多的数组,并返回结果。
join():把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
push():向数组的末尾添加一个或更多元素,并返回新的长度。
pop():删除并返回数组的最后一个元素
reverse():颠倒数组中元素的顺序
三、js的Date对象 (****)
Date 对象用于处理日期和时间。
创建 Date 对象的语法:var myDate=new Date()
toLocaleString() :根据本地时间格式,把 Date 对象转换为字符串。
toLocaleDateString() :根据本地时间格式,把 Date 对象的日期部分转换为字符串
getDate() :从 Date 对象返回一个月中的某一天 (1 ~ 31)
getDay() :从 Date 对象返回一周中的某一天 (0 ~ 6)
getMonth() :从 Date 对象返回月份 (0 ~ 11)
getFullYear() :从 Date 对象以四位数字返回年份
getTime() :返回 1970 年 1 月 1 日至今的毫秒数
parse() :返回1970年1月1日午夜到指定日期(字符串)的毫秒数
四、js的math对象 (****)
ceil(x) 对一个数进行上舍入。
floor(x) 对一个数进行下舍入。
round(x) 把一个数四舍五入为最接近的整数
pow(x,y) 返回 x 的 y 次幂
random() 返回 0 ~ 1 之间的随机数
五、js的全局函数 (****)
全局属性和函数可用于所有内建的 JavaScript 对象
eval() : 执行js代码(如果字符串是一个js代码,使用方法直接执行)
encodeURI() :对字符进行编码 该方法不会对 ASCII 字母和数字进行编码,
也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( )
decodeURI() :对字符进行解码
/*
encodeURIComponent() :对字符进行编码
请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询 字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号
decodeURIComponent():可对 encodeURIComponent() 函数编码的 URI 进行解码。
*/
isNaN():判断当前字符串是否是数字 如果是数字,返回false 如果不是数字,返回true
parseInt():类型转换
(1)js里面不存在重载。
(2)但是可以通过其他方式模拟重载的效果 (通过aruguments数组来实现)
今天学习js做了些总结,分享给大家的更多相关文章
- JS做深度学习1——偶然发现与入门
JS做深度学习1--偶然发现与入门 不久前,我初次涉猎了Node.js,并且使用它开发了毕业设计的WEB模块,然后通过在Node中调用系统命令执行Python文件方式实现了深度学习功能模块的对接,Py ...
- JS做深度学习2——导入训练模型
JS做深度学习2--导入训练模型 改进项目 前段时间,我做了个RNN预测金融数据的毕业设计(华尔街),当时TensorFlow.js还没有发布,我不得已使用了keras对数据进行了训练,并且拟合好了不 ...
- h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片
得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...
- 学习JS的这些日子——十二月总结
事实上非常想早就发表这篇十二月份的总结了,可是一直拖拖拉拉没有完毕.一直在想2015年都过去了,该不该再去 写这一篇2015年最后一个月的总结.还有就是2015年的年终总结能否够取代十二月的总结,后来 ...
- Three.js实现3D地图实例分享
本文主要给大家介绍了关于利用Three.js开发实现3D地图的实践过程,文中通过示例代码介绍的非常详细,对大家学习或者使用three.js具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习 ...
- JS 做时钟
今天,给大家分享一个用JS做的时钟. <!DOCTYPE html><html> <head> <meta charset="utf-8" ...
- 转Rollback后undo到底做了些什么?
转自:http://biancheng.dnbcw.info/oracle/309191.html Rollback后undo到底做了些什么? 从概念上讲,undo正好与redo相对.当你对数据执行修 ...
- 从架构演进的角度聊聊Spring Cloud都做了些什么?
Spring Cloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,之前也写过一些关于Spring Cloud文章,主要偏重各组件的使用,本次分享主要解答这两个问题:Spring Cl ...
- 【老司机经验】CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享
CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享 1.缘起 这些年来一直在其他公司的实验箱和别人的开发板上进行教学与开发工作,总是觉得功能设计不那么合意.心里突然冒出个 ...
随机推荐
- 关于Ubuntu的ssh免密登录
1.打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"--> ...
- 利用DNS AAAA记录和IPv6地址传输后门
0x00 前言 在本文中,我想解释如何在DNS流量中利用IPv6地址(AAAA)记录传输Payload.在我之前的文章中,我解释了如何利用DNS和PTR记录,现在我们将讨论AAAA记录. 本文分为两部 ...
- dotNet Linux 学习记录 - Jexus寄宿WCF服务
让WCF运行在Linux上(寄宿于服务器程序) WCF介绍请自行 bing 搜索 使用的开发工具为vs2017,系统为 Ubuntu16.04 服务器软件为Jexus ( 详情请看: Jexus官网 ...
- JS执行效率与性能提升方案
如果是追加字符串,最好使用s+=anotherStr操作,而不是要使用s=s+anotherStr.如果要连接多个字符串,应该少使用+=,如 s+=a;s+=b;s+=c;应该写成s+=a + b + ...
- JDBC进阶
PreparedStatement的使用: conn = DriverManager.getConnection("jdbc:mysql://localhost/mydata?" ...
- while循环 操作列表与字典
1.在列表间移动元素 #!/usr/bin/env python #filename=list.py num1 = [1,3,5,7,9,11,13,15] num2 = [] while num1: ...
- Workout Wednesday Redux (2017 Week 3)
I had started a "52 Vis" initiative back in 2016 to encourage folks to get practice making ...
- Weighted Effect Coding: Dummy coding when size matters
If your regression model contains a categorical predictor variable, you commonly test the significan ...
- VR全景智慧城市:360全景市场需要背景及其优势~
VR元年已过,VR项目.VR创业潮转为理性,VR行业分为两个方向:硬件和内容. VR全景,又被称为3D实景,是一种新兴的富媒体技术,其与视频,声音,图片等传统的流媒体大的区别是"可操作,可交 ...
- 初入计算机图形学(二):对bidirectional path tracing的一些困惑
本人水平有限,若有错误也请指正~ 前文提及了光线追踪的一些常用手法,但是其中path tracing的实现最为简单,但是其最致命的一个缺点就是图像收敛速度很慢..原因在于从摄影机发射出的每一条光线若不 ...