一、
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. linux服务器下安装node

    在百度上搜了好久,都没有完整的答案,好多都已经过时了!特留下此脚印 # 检查是否已经安装pythonrpm -qa | grep python# 查版本python# 最好是重新安装 Python推荐 ...

  2. jenkins 设置自动发送邮件

      1.测试邮件发送 进入jenkins系统管理-->系统设置做如下配置   1.设置系统管理员邮件地址,这是一个全局变量,意味着所有的jenkins执行的任务,最后都会通过这个邮件地址发送邮件 ...

  3. Oracle正则表达式之匹配邮箱

    利于正则表达式匹配出符合电子邮箱的数据 --1 表准备create table test_regexp( object varchar2(50)); --2 数据准备 insert into test ...

  4. hadoop集群的节点启动问题

    start-all.sh 启动集群时,NameNode或DataNode节点启动不了,但之前可以启动. 查看hadoop中hdfs-site.xml配置文件 <property> < ...

  5. JAVA并发编程实战---第三章:对象的共享(2)

    线程封闭 如果仅仅在单线程内访问数据,就不需要同步,这种技术被称为线程封闭,它是实现线程安全性的最简单的方式之一.当某个对象封闭在一个线程中时,这种方法将自动实现线程安全性,即使被封闭的对象本生不是线 ...

  6. React入门---开始前的准备(上)-2

    开始前准备: 1.安装配置nodeJs(nodeJS官网) 检查安装成功: node -v npm -v 2.使用NPM配置React开发环境 (1). 创建项目文件夹(创建文件夹时,文件夹名不要起为 ...

  7. Editplus配置java运行环境以及其他需求的简单设置

    java配置 首先,打开"工具"(tools)选项,选择"配置自定义工具组"(英文版 是倒数第二个)然后按照上面第二幅图片来配置javac环境,其中命令一栏是j ...

  8. java虚拟机学习-深入理解JVM(1)

    1   Java技术与Java虚拟机 说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言.Java类文件格式.Java虚拟机和Java应 ...

  9. 在vue-cli搭建的项目中增加后台mock接口

    用vue-cli搭建一个前端开发环境确实是极其方便,在写前端代码肯定也是少不了需要调用后台提供的业务接口进行前后端交互,特别在敏捷开发中,前后端都要提前确定业务接口并进行打桩,在开发过程中基本是没有现 ...

  10. css reset的重置作用(可取还是不可取,取决于你)

    一.重置的理由 当今流行的浏览器中,有些都是以自己的方式去理解css规范,这就会到只有的浏览器对css的解释与设计师的css定义初衷相冲突,使得网页的样子在某些浏览器下能正确按照设计师的想法显示.,但 ...