患有多动症的javascript

来源:互联网 发布:网络推广和编辑考核 编辑:程序博客网 时间:2024/04/29 03:24

题目怎么这么怪 哈哈 没错 js就是定义html行为的 他的确患有多动症

前些天学习了js 就是我们说的javascript 感觉js就是一个字"练"
在学习的时候 老师让我们必须用手写 不能使用IDE等开发工具
目的很简单 就是为了锻炼我们编码基本功 具体的可以看我的上一篇文章 “ 

( IDE ) || ( !IDE ) 来选择程序员的等级

 ”
今天主要说的js 学完后 我将js做了一个简单的总结与记录 今天贴出来
里面主要是我的课堂笔记 和课下的总结  里面有不对的地方 还请您提出来 以便我改进 万分感谢!!!

什么是JavaScript(js) ↑
 是一种脚本语言
  按照书写的流程 最后一句一句的解析 读取的同时进行解析 就叫做脚本语言
  是一种客户端语言 就是在本地执行的

书写js代码要注意的 ↑
 注释:和c#一样 // 和 /**/
 书写格式: 
写在<head>标签中 用<script type=”text/javascript” ></script>包起来
 Js代码是弱类型 大小写敏感的 不管声明什么变量 都使用var
 在写js代码时 如果在纯js文本下(比如外部引用的js脚本) 字符串使用双引号“”
 如果在html文档中写js脚本 字符串使用单引号‘’ 避免与html标签的属性值冲突

Js中常用的函数 以及系统函数(js自带函数)↑
 // 以当地的时间格式显示当前系统时间
 alert(new Date().toLocaleDateString());

 // 数字字符串转换为int类型
 parseInt(numString);

 //数字字符串转换为float类型
 parseFloat(numString);
 注意: 在使用这个转换函数时 如果出现了非数字的字符串 比如‘a’,那么‘a’后面的字符就不会再计算了

 // 获得变量的类型
 Var t=true;
 alert(typeof(t));

 // 判断变量的类型
 if(typeof(b)=="boolean") //注意 返回的变量是字符串类型 所以要加上双引号“”
 {
  alert("这个boolean类型")
 }
 else
 {
  alert("不是boolean类型")
 }

 // 将浏览器中的汉字编码转换为汉字 escape用法一样
 alert(decodeURI("%E7%94%B5%E9%94%AF%E6%83%8A%E9%AD%82"));
 
 // 将浏览器中的汉字 转换为汉字编码 unescape用法一样
 alert(encodeURI("电锯惊魂"));

 // 判断字符串中是否有非数字的字母 如果有返回true 没有返回false
 var t=isNaN("123");
 alert(t);

 // 动态执行js代码函数
 var s=alert(123);
 evla(s);
 将js文件放在外部 ↑
 1.  创建一个.js文件
 2.  在html页面中填写js文件路径
  <script style="text/javascript" src="1.js">
  </script>

 Js中的常用事件 ↑
 onclich:点击按钮:
  <input type="button" onclick="alert('你好')">

 onblur:失去焦点
  <input type="button" onblur ="alert('你好')">

 onmouseover:鼠标移动进入
  <input type="button" onmouseover ="alert('你好')">

Js的变量声明 ↑
 1.  Js是大小写敏感的 是一个弱类型
 2.  在js中声明所有类型的变量都使用var
 3.  变量使用步骤:声明->赋值->使用
 4.  如果一个变量没有声明 浏览器会默认为全局变量 但是禁止这样做
 5.  如果没有给变量赋值 那么浏览器不会报错 会提示undefined(为定义)
 6.  可以使用$开头命名变量
 7.  和c语言一样 定义在函数中的是局部变量 定义在函数外的是全局变量

定义函数 ↑
 无参数无返回值
 语法:
  function 方法名()
  {
   // 方法体
  }
  
 例子:
   // 定义一个无参无返回值函数 求1~100的累加和
   function sum() // 定义函数
   {
    var i=0;
    var s=0;
    for(;i<=100;i++)
    {
     s+=i;
    }
    alert(s);
   }
   
   sum(); // 调用

 有参数有返回值 ↑
  语法:
  function 方法名(参数列表)
 {
 // 方法体
 return 返回值
 }
  
  例子:
 function fun(num1,num2) // 定义
 {
  var res=0;
    
  for(var i=num1;i<=num2;i++)
  {
   res+=i;
  }
  return res;
 }

 alert(fun(1,100)); // 调用
 
 注意:js中没有函数的重载 如果函数名一样 即使参数不一样 那么调用最近的一个 满足就近原则

匿名方法 ↑
 什么是匿名函数:就是没有函数名的函数
 不用再将函数的名字赋值给一个变量 直接将函数赋值给一个变量
 例子:
 var fff=function() // 定义匿名方法 直接赋值给变量
  {
   alert("我是匿名方法");
  }
  
  fff();// 调用匿名方法


arguments对象(和c#中的params类似 都是可以增加位置数量的参数) ↑
  用法:函数定义的时候不带任何参数 调用的时候可以任意加参数

 function aaa() // 定义
 {
 var str="";
 for(var i = 0 ; i < arguments.length ; i++) // 注意 这里因为是数组 所以使用 arguments
 {
  str += arguments[i] + "*";
 }
 return str;
}
   
var res=aaa(1,15.2,"asd",false); // 调用
alert(res);

null 和 undefined ↑
 undefined表示不知道
  1. 声明没有初始化 则为undefined
  2. 函数没有明确的返回值 则为undefined
  3. 没有声明的变量应用typeof运算符时 则为undefined

 null 表示没有
  1. null表示不存在的对象
  2. null是有特定意义的值
  3. 可以为变量赋值null 
  4. 在判断变量是否为null时不需要加双引号 “”

 注意: 先看一下代码
 var val=null;
 if(val==undefined)
 {
  alert("val为undefined")
 }
 else
 {
  alert("val不为undefined");
 }
 输出结果是"val为undefined" 这是为什么呢?
 因为null和undefined判断是有兼容性的
 在if判断中 那些null,空,0,undefined 等都表示false

 如果要严格的判断 那么就是使用===三个等号来判断
 上面的if改为 if(val===undefined)

Js中的转义字符 ↑
 Js中没有@转义字符 要转义时前面加上\
 alert(“c:\\windows\\system32”);

js面向对象(定义构造函数) ↑
 方法一: 
 function person() // 对象就是构造方法
  {
   this.name="张三";
   this.age="20";
   this.gender="男";
   this.sayHello=function()
      {
       alert("你好"); 
      }
  }
  
  var per=new person() // 调用的时候必须使用 new 关键字
  {
   alert(per.name);
   alert(per.age);
   alert(per.gender);
   per.sayHello();
  }
  
  per.Add="山西太原"; // 也可以动态的添加函数成员
  
  alert(per.Add);
  
  per.play=function() // 也可以动态的添加函数
    {
     alert(per.name+"你好");
    }
  
  per.play();

 方法二:
 function student() // 先定义一个函数
  {}
  
  var stu=new student(); // 实例化一个对象
  stu.name="宋方舟"; // 动态的添加成员
  stu.age="20";
  stu.say=function()
    {
     alert("我叫"+stu.name);
    }
  alert(stu.name);
  alert(stu.age);
  stu.say();

对象的遍历 ↑
 // 遍历出每个字段的名字
   function student()
  {}
  
  var stu=new student();
  stu.name="宋方舟";
  stu.age="20";
  stu.say=function()
    {
     for(var key in stu)
     {
      alert(key);
     }
    }
    
  stu.say();

  // 遍历出每个字段的内容
    function student()
  {}
  
  var stu=new student();
  stu.name="宋方舟";
  stu.age="20";
  stu.say=function()
    {
     for(var key in stu)
     {
      alert(stu[key]);
     }
    }
    
  stu.say();

ja中的String对象 ↑
 常用的string函数

 // 统计字符串的长度
 var str="你好呀";
 alert(str.length);

 // 得到规定位置的字符
 var str="你好呀";
 alert(str.charAt(1));

 // 从0开始截取两个字符
 var str="你好呀";
 alert(str.substr(0,2));

// 从规定的下标开始找 找到规定的下标的字符为止
 var str="你好呀";
 alert(str.substring(1,3));

ja中的数组 与 集合 ↑
 js中的数组可以放任意类型的数据 他是数组,是键值对,集合,动态数组

 语法: var arrNames = new Array();
  var arr=new Array(12,"dsd",false,15.21); // 声明的时候赋值 方法1

  for(var i=0;i<arr.length;i++) // 输出
  {
   alert(arr[i]);
  }

  var arr=[12,"dsd",false,15.21]; // 声明的时候赋值 方法2
 
  // 使用for-in遍历 就是foreach
  for(var key in arr)
  {
   alert(arr[key]);
  }

 数组中的字典

  使用方法一:
   var arr=new Array(); // 声明的时候赋值
    
   arr["北京"]="北京"; // 键值对的形式
   arr["山西"]="太原";
    
   for(var key in arr) // for-in遍历
   {
    alert(arr[key]);
   }

  使用方法一:
   var arr={"首都":"北京","山西":"太原"};
    
   for(var key in arr)
   {
    alert(arr[key]);
   }

拓展方法 ↑
 String.prototype.sfz=function() // 定义拓展方法
      {
       alert("你好");
      }
         
 var str="";
 str.sfz(); // 调用拓展方法 sfz是拓展方法名

 

 

(作者注释:由于我的笔记是.doc格式的 所有的标题都有超链接以及标题颜色 如果直接复制过来的话会有格式不支持的情况 为了统一 我在全部转换成了txt  所以会没有颜色 希望大家见谅)