JavaScript

JavaScript是弱类型脚本语言,声明变量时无须指定变量的数据类型。JavaScript变量的数据类型是解释时动态决定的。JavaScript的基本数据类型有5个。
数值类型(number):包含整数和浮点数
布尔类型(Boolean):只有true和false两个值
字符串类型(String):字符串变量必须用引号括起来,引号可以是单引号,也可以是双引号
undefined类型:专门来确定一个应将创建但没有复制的变量
null类型:用于表明某个变量的值为空

		<script type="text/javascript">			
			var num=5;
			var str="shfkkg";
			var n=89.5;
            var ob=new Object();
			var un
			var nul=null;
       document.write(typeof(num)+'<br/>'+typeof(str)+'<br/>'
       +typeof(n)+'<br/>'+typeof(ob)+'<br/>'+typeof(un)+'<br/>'+typeof(nul));						
		</script>

在这里插入图片描述

JavaScript变量的数据类型还有一种复合类型,大致有三种:
Object:
对象是一系列命名变量 函数的集合,其中命名变量的类型可以是基本数据类型也可以是符合类型,对象中的命名变量称为属性,对象中的函数称为方法。

Array:数组

var a=[1,2,3]
var b=[];
b[0]=6;
b[1]='hello';
var c=new Array();
c[5]=1;

其中数组c的长度为6;

Function:函数

创建函数的三种方法
1.定义命名函数
2.定义匿名函数
3.new Function语句

			 //定义命名函数
            function m1(a,b) {
                alert(a + b);
            }

            //定义匿名函数
            var m2 = function(a,b) {
                alert(a + b);
            }

            //函数声明和函数表达式最终内部执行的就是new Function语句
            var m3 = new Function('a','b','alert(a+b);');

           

调用函数的三种方法
1.直接调用函数
以函数附加的对象作为调用者,在函数后括号内传入参数来调用函数
调用者.函数(参数一,参数二…)

//调用window对象的alert方法
window.alert("测试代码");
//调用p对象的walk方法
p.walk();

2.以call()方法调用函数
函数.call(调用者,参数一,参数二…)

 var each=function(array,fn)
    {
        for(var index in array)
        {
             //以window为调用者来调用fn函数。
            //index array[index]是传给fn函数的参数
            fn.call(null,index,array[index]);
        }
    
    
    }
    //调用each函数,第一个参数是数组,第二个参数是函数。
    each([4,20,3],function(index,else)
    {
        document.write("第"+index+"个元素是:"+ele+"<br/>")
    
    });

3.以apply()方法调用函数
函数.apply(调用者,[ 参数一,参数二… ])

var myfun = function(a,b)
{
	alert(a+b);
}
//call调用
myfun.call(window,10,20);
//apply调用
myfun.apply(window,[10,20]);

call调用和apply调用功能基本相似,call需要逐个传入参数,apply调用可以用数组形式一次性传入所有参数。

创建对象的3种方法

1.使用new关键字调用构造器创建对象

//定义一个函数同时定义一个Person类
function Person(name,age)
{
	this.name=name;
	this.age=age;
}
//创建Person实例
var p = new Person('yeeku',3)

2.使用Object直接创建对象

//创建空对象
var myObj = new Object();
//增加属性
myObj.name='yeeku';
myObj.age=20;

3.使用JSON语法创建对象
使用JSON创建对象时,属性值可以是任何数据类型,还可以是函数,数组。

person
{
	name:'yeeku',
	gender:'male',
	//使用JSON对象为其指定一个属性
	son:
	{
		name:'noon',
		grade:1
	},
	
}

创建类
类有以下功能:

  • 构造器
  • 静态属性,静态方法
  • 共有属性,共有方法
  • 私有属性,私有方法
  • var Person = function(name, age){
        this.name = name;
        this.age = age;
    
        this.sayName = function(){
            console.log(this.name);
        };
    }
    
    

    继承类
    假设现在存在一个构造函数想继承另一个构造函数。

    function Friend(){
      this.friend="xiaohua";
    }
    function Person(name,age){
        this.name=name;
        this.age=age;
        this.sayName=function(){
          console.log("hello,my name is " +this.name+" nice to meet you")
        };
    }
    

    我们可以在构造函数内部通过改变要继承的构造函数的this指向;

    function Person(name,age){
        Friend.apply(this,arguments);//添加了这一行
        this.name=name;
        this.age=age;
        this.sayName=function(){
          console.log("hello,my name is " +this.name+" nice to meet you.my friend is "+this.friend)
        };//在这里就可使用this访问friend了
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值