今天学习js做了些总结,分享给大家

时间:2022-09-05 13:12:26

一、
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数组来实现)