一、
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做了些总结,分享给大家的更多相关文章

  1. JS做深度学习1——偶然发现与入门

    JS做深度学习1--偶然发现与入门 不久前,我初次涉猎了Node.js,并且使用它开发了毕业设计的WEB模块,然后通过在Node中调用系统命令执行Python文件方式实现了深度学习功能模块的对接,Py ...

  2. JS做深度学习2——导入训练模型

    JS做深度学习2--导入训练模型 改进项目 前段时间,我做了个RNN预测金融数据的毕业设计(华尔街),当时TensorFlow.js还没有发布,我不得已使用了keras对数据进行了训练,并且拟合好了不 ...

  3. h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片

    得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...

  4. 学习JS的这些日子——十二月总结

    事实上非常想早就发表这篇十二月份的总结了,可是一直拖拖拉拉没有完毕.一直在想2015年都过去了,该不该再去 写这一篇2015年最后一个月的总结.还有就是2015年的年终总结能否够取代十二月的总结,后来 ...

  5. Three.js实现3D地图实例分享

    本文主要给大家介绍了关于利用Three.js开发实现3D地图的实践过程,文中通过示例代码介绍的非常详细,对大家学习或者使用three.js具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习 ...

  6. JS 做时钟

    今天,给大家分享一个用JS做的时钟. <!DOCTYPE html><html> <head> <meta charset="utf-8" ...

  7. 转Rollback后undo到底做了些什么?

    转自:http://biancheng.dnbcw.info/oracle/309191.html Rollback后undo到底做了些什么? 从概念上讲,undo正好与redo相对.当你对数据执行修 ...

  8. 从架构演进的角度聊聊Spring Cloud都做了些什么?

    Spring Cloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,之前也写过一些关于Spring Cloud文章,主要偏重各组件的使用,本次分享主要解答这两个问题:Spring Cl ...

  9. 【老司机经验】CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享

    CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享 1.缘起    这些年来一直在其他公司的实验箱和别人的开发板上进行教学与开发工作,总是觉得功能设计不那么合意.心里突然冒出个 ...

随机推荐

  1. 【树莓派】为树莓派配置或扩展swap分区

    ---恢复内容开始--- 由于树莓派3的默认内存只有1G,而应用程序运行过程中,存在大量的IO读写,以及网络转换,内存交换等.这样,也有很多buffer.cache资源占用等,很快就会接近1GB,最终 ...

  2. [转载]PHP检测一个元素是否存在于数组中

  3. Js调用exe程序方法(通过URL Protocol实现网页调用本地应用程序)

      1.使用记事本(或其他文本编辑器)创建一个protocal.reg文件,并写入以下内容 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROO ...

  4. linux用户和组的创建与管理!

    useradd创建用户,usermod修改用户属性,userdel删除用户,groupadd创建组,groupmod修改组属性,groupdel删除组. 创建用户命令:useradd 语法: user ...

  5. 控制器controller与指令中的link、controller中变量作用域的关系

    angjualrjs中的作用域与原生js中的函数嵌套原理一致,都是存在作用域的继承.若在子控制器(同样包括在指令中的link或是controllerding中定义变量,此时指令中必须未使用scope独 ...

  6. 第一个远程javaweb项目测试全过程

    2017-5-20,在这个奇特的日子,我不再满足于在本地测试javaweb,于是在上腾讯云买了第一个云服务器,由于是学生认证,所以一个月只要10块钱,还是要抢的,每天早上9点开抢 打开后,发现其实是一 ...

  7. 【图解HTTP】笔记摘要

    第1章 了解Web及网络基础 根据Web浏览器(Web客户端)地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源(resource)等信息,从而显示出Web页面. CERN(欧洲核子研究组 ...

  8. Nginx教程(四) Location配置与ReWrite语法

    Nginx教程(四) Location配置与ReWrite语法 1 Location语法规则 1.1 Location规则 语法规则: location [=|~|~*|^~] /uri/ {- } ...

  9. Quartz.net 定时任务之Cron表达式

    一.cron表达式简单介绍和下载 1.在上一篇博客"Quartz.net 定时任务之简单任务"中,我简单介绍了quartz的使用,而这篇博客我将介绍cron的具体使用(不足之处望大 ...

  10. 初步了解asp.net运行机制

    客户通过客户端浏览器输入url地址请求资源,服务器接收到客户端请求,首先为http请求分配应用程序池,然后在应用程序池中创建请求需要的管道,这个管道对http请求的各个步骤进行了分配. 当用户第一次请 ...