iOS转前端之JS基本语法总结

来源:互联网 发布:读书笔记软件下载 编辑:程序博客网 时间:2024/06/10 02:43

这段时间一直忙着写需求,没啥时间来写博客,今天抽个空更新一篇博客~

这一篇我们来总结下JavaScript的基本语法。话不多说,开始吧。


首先,我们来看下js中的基本数据类型有哪几种?

   var age = 18; //number   var name = 'jack'; //string   var result = true; //boolean  false   var score = null;  // object

最常见的就是以上者四种,可以看出来和iOS中的非常相似。

那么我们如何判断一个变量的数据类型呢?很简单,只需要使用

typeof 

例如:

console.log(typeof age,typeof name,typeof result, typeof score);

输出结果为:

//number//string//boolean// object


如何拼接?easy!直接使用 `+` :

var count1 = age + money;var newName = name + '-' + name2;

当然这个是有一定的规律的,变量的拼接都是从左往右,任何类型的变量和string类型的变量拼接,都会被转换为string类型。

了解了这个规律后,我们来看一道题目:

var str1 = 10 + 10 + '10';var str2 = '10' + '10' + 10;var str3 = '10' + 10+  10;var str4 = '10' + 10 + '10'; 

请分别写出上述四个变量的输出结果;


。。。。。。。


OK,下面公布答案:

// 2010// 101010// 101010 1020// 101010

至于为什么?主要利用的还是上面说的那条规律。


好的,下面我们来看看数组方面的。数组的表示很简单:

var arrNumber = [-1, age, name, result, '哈哈哈', ['百度', '谷歌']];

这个跟我们iOS还是有些区别的,可以装不同类型的元素。


遍历一个数组:

for(var i=0; i<arrNumber.length; i++){        console.log(i,arrNumber[i]);    }

删除数组最后的元素:

arrNumber.pop();

加入一个数组:

var name = 'iOS转前端';arrNumber.push(name);


取出数组中的最小值:

   var numbers = [-1, 23,32,99];// 取出最大值   console.log(Math.max(120, 3232, 0));//   取出数组中的最小值   console.log(Math.min.apply(null, numbers))
这其中Math就相当于JS里封装的一些关于数学操作的函数。



好了。接下来我们再来看看JS中的函数。

下面我们来定义一个函数:

// 定义一个函数    function sum(num1, num2){        return num1 + num2;    }

调用它:

// 调用   var count = sum(10, 40);   console.log(count);

OK,是不是很简单,其实是和Swift中的函数定义非常相似的。所以说语言之间还是有很多借鉴之处的。

接下来我们写一个万能的加法函数。

// 万能的加法函数    function sum2(numbers){        var count = 0;        for(var number in numbers){            count += numbers[number];        }        return count;    }

调用:

var numbers = [10, 12, 15, 1221,3232, 'jh'];var result = sum2(numbers);

在JS中一个函数默认是有一个自带的参数`arguments`,这个参数不需要申明,在函数内部可以直接拿来使用,上面的万能加法函数可以简化成:

function sum3(){       var count = 0;       for(var number in arguments){           count += arguments[number];       }       return count;   }//  调用   var result2 = sum3(10,12,322,1221,3232,3232);   console.log(result2);


然后我们说说匿名函数。

顾名思义,没有名字的函数,那么我们如何调用它,正确的做法是用一个变量来表示它,来看一个例子:

// 匿名函数    var sum4 = function (){        console.log('-------');    }//  调用    sum4()

还是很简单的吧,对我们有语言基础的理解起来并不难。OK,下面我们来看看JS中的对象。

先来自己写一个对象,对象中可以有参数,可以有方法。

// 狗对象// this 在哪个对象中,其就代表那个对象    var dog = {        name : 'wangcai',        age  : 15,        height : 1.55,        friends :['xixi', 'lulu'],        // 吃        eat : function(someThing){            console.log(this.name + '-----吃' + someThing);        },        // 跑        run : function(someWhere){            console.log(this.name + '------跑' + someWhere);        }    };//    调用//    console.log(dog.name, dog.age, dog.height);      dog.eat('五花肉');      dog.run('操场');

在iOS中,我们通常用[[xxx  alloc] init] 或者 [xxx new] 的方式来创建一个新对象,那么JS中应该怎么做呢?很简单,直接使用new,我们看一个例子:

// 函数 --> 构造函数    function Dog(){        console.log('--------');    }    // 调用函数    Dog();    // 升级成构造函数    var dog1 = new Dog();  // new -->[[ alloc] init]    console.log(dog1);    var dog2 = new Dog();    console.log(dog2);

当然,如果对象中有方法和参数,我们也可以进行赋值和操作:

// 函数--->构造函数    function Dog(){        this.name = null;        this.age = null;        this.height = null;        this.friends = [];        this.eat = function(someThing){            console.log(this.name + '吃' + someThing);        };        this.run = function(someWhere){            console.log(this.name + '跑' + someWhere);        };    }    // 产生狗对象    var dog1 = new  Dog();    var dog2 = new Dog();    dog1.name = 'wangcai';    dog1.age = 10;    dog1.height = 1.55;    dog1.friends = ['hhh', 'xxxx'];    dog2.name = 'ahuang';//    console.log(dog1, dog2);    dog1.run();    dog2.run();    dog1.eat('五花肉');    dog2.eat('喝汤');

最后我想说下,JS是一门语法自由的语言,为什么这么说呢?我们来看两个例子吧。

第一个是 `||` 的用法:

// ||    var name1 = 'name1';    var name2 = '';    var name3 = 'name3';    var name4 = 'name4';    var newName = null;// 以前    if(name1){        newName = name1;    }else if(name2){        newName = name2;    }else if(name3){        newName = name3;    }else{        newName = name4;    }    console.log(newName);
   // 新的写法    newName = name1 || name2 || name3 || name4;    console.log(newName);


第二个,我们来看下 `&&`的用法:

// &&     var age = 2;    if(age>20){        console.log('你可以结婚了');    }// 新的写法   (age>20)&&console.log('你可以结婚了!!!!!');

这两种写法还是很好用的,减少了代码的数量。


总结:这篇主要介绍了一些基础的JS语法,让大家对JS有个基本的认识,虽然不是很全面,但日常开发的一些用法都介绍了,基本的开发工作应该没问题。很多东西,其实不说,大家看到也是知道怎么用的。毕竟语言大同小异嘛~~~废话不多说,后面几篇博客再重点介绍JS中一些重点的地方。随机更新~





原创粉丝点击