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中一些重点的地方。随机更新~
阅读全文
0 0
- iOS转前端之JS基本语法总结
- 前端之js总结
- iOS之01-基本语法
- 前端之js方法总结
- iOS转前端之JS进阶技巧及Demo演示
- iOS转前端之JS实现瀑布流效果
- JS 之基本语法 & html结合
- iOS开发之Swift基本语法详解
- Java学习总结之基本语法
- JAVASE复习总结之基本语法
- 前端框架之Vue.js学习总结
- 前端学习之路JS(01)-基础语法
- js 的基本语法
- 《js基本语法》
- js基本语法
- js基本语法
- js基本语法
- js基本语法
- jzoj5259 线性规划问题 (巧妙设状态的dp)
- java持久层框架mybatis如何防止sql注入
- MAC,PIN的密钥体系
- P2345 奶牛集会/P2657 低头一族
- React-navigation 官方文档中文翻译(三) Configuring the Header
- iOS转前端之JS基本语法总结
- 电子设计大赛板球控制系统设计方案
- 题目399-整除个数(满满的套路)
- 【黑科技】钉钉自动打卡
- Vue.js+Webpacky引入jQuery及插件实践
- Android wpa_supplicant源码分析--conf配置文件
- unity3d鼠标拖拽旋转
- x86架构下,页面大小为什么是4K?
- Magic number (programming) from Wikipedia(0xCCCCCCCC、0xCDCDCDCD、0xFEEEFEEE)