代码改变世界

JavaScript01天学习笔记分享

2015-05-05 23:42  小白admin  阅读(332)  评论(0编辑  收藏  举报
01知识点
JavaScript 代码运行在浏览器(后缀名.js)
和java完全不同的东西,只是名称类型而已
src 引用脚本
 
<Script></Script>
alert(123);弹出对话框
var(不知道的  )和c#完全不一样
 
语法:
大小写敏感
弱类型语言:不指定占用多少内存,运行的时候知道
分号结束
注释(单行,多行)
字符串推荐使用单引号,也可以用双引号
 
定义方法:
    function showTime()
        {
            var time = new Date();
            alert(time.toString());
            return false;
        }
    </script>
    <br/>
    <input type="button" value="时间" onclick="showTime()"/>
    <br/>
    <a href="www.itcast.cn"  onclick="return showTime();">显示时间</a>
    <br/>
    <a  href="javascript:showTime();"> 显示时间 </a>
 
/创建时间对象
        //var time = new Date();
        ////
        //alert(time.toString());
        //alert(time.toLocaleString());
        //alert(time.getHours());
        //alert(time.getTime())
 
数据类型
boolean 布尔
number  数字
string 字符串
Undefined  未定义
Object 对象类型
Null 空对象, 被定义,没有指向对象的值
Undefined和Null:都是只有一个值的数据类型,分别Underfined和Null
实例讲解:
var a1;
alert(a1);
显示Undefined(声明后,没有初始化)(什么都没有)
 
var a1;
a1=null;
alert(a1);
显示null(指向null值时,当前变量为null)
 
typeof变量名或typeof(变量名)
var a1;
alert(typeof(a1));
返回a1类型:undefined
 
var a1;
a1=null;
alert(typeof(a1));
返回a1类型:object
 
类似转换
var a2=‘100’;
alert(a2+1);拼接
alert(parseint(a2)+1);转换整数,算数运算
 
双等号==判断是否相等
===既要判断类型,值是否相同
 
 
判断变量是否可用
先判断是否为undefined 在判断是否为null,否则可用
 
返回undefined  如果 temp==null  返回不可用
 
 
Undefined  未定义
Null 空对象, 被定义,没有指向对象的值
 
返回object
 
判断是否是一个数字类型
var temp2='123';
alert(isNaN(temp2))
返回:fale
 
 var temp = 'abcfg';
 alert(isNaN(temp));
 
var temp = '我是?';
alert(isNaN(temp));
都是返回  true
 
 
eval(‘alert(“abc”);’);将一段字符串当作js代码执行
        //应用场景:当从文本框中获取值时,得到的是字符串,如果希望那段字符串当作js执行,则使用eval()方法
 
调试:
 
已浏览器中调试(必须一款浏览器熟练调试)
元素(element)
sources(源代码)
下一步F10
内部F11
F8往后走,直接显示答案,跳出循环
Console也可以看值
for (var i = 0; i < 10; i++)
{
    document.write(i);
 
 }
C#方法重载:在同一个类中,方法名相同,参数,类型可以不同
js不支持方法重载(不存在),后声明的函数,会覆盖先声明的函数
举例  (C#顶一个方法:修饰符,返回值类型,方法名(参数列表){。。。}
function add(a,b,c)//关键字 方法名(参数)
        {
            alert(a + b + c);//方法体
            return a + b + c;//返回值
        }          
        add(1, 2, 3);//调用方法
 
 
arguments获取所有参数,是一个参数的数组
arguments.Length 数数组个数
 
 
匿名函数
定义一个匿名函数,赋值给一个变量
var f1=function(a,b)
{
   alert(a+b);
}
f1(1,2);
 
典型应用:
 
根据id获取页面的元素,把他绑定点击事件
getElementById()方法可返回对拥有指定 ID 的第一个对象的引用。

onclick 事件会在对象被点击时发生。

 

闭包:参数备注代码

闭包:支持在函数内部调用函数之前声明过的边量

作用域链:变量的作用域在当前的函数中,及当前函数内部定义的函数中形成了一个链条

建议:避免闭包,每次再用一个变量时,都要先声明在使用,因为会让变量在内存中长期存在,无法释放

 

模拟面向对象:

定义:

为类增加对象成员:

步骤:类,属性,方法,构造方法,创建对象,调用方法

 

原型:所在对象的类型

类的类型就是原型

集合,数组
var temp=[{title:'zhang',
           age: 18
       }, { title: '你好', age: 23 }, { title: '张三', age: 34 }]; 
       for (var index in temp)
       {
           document.write(temp[index].title);
       }
 
 
 
重点:
语法:弱语言
数据类型:类型转换(判断,typeof)
 函数定义(function,不支持重载,匿名函数,)
调试
模拟面向对象
字符串
集合,数组,键值对(可以理解为json)
内置成员:Date,string()  (用的比较多)
 
了解
闭包:避免闭包,主要作用是类的定义
原型:对象的类型