H5深究JavaScript

JavaScript:OC的眼光,不一样的数据类型和函数

2016-11-09  本文已影响260人  神经骚栋

前言


作为一个iOS开发者,我觉得对于JavaScript入门还是并不是太困难,当然了,这只是入门而已,我们就从入门开始搞事.

JavaScript的开始


JavaScript作为一种轻量级的脚本语言,JavaScript是不会做类似于OC预编译的工作,我们需要把代码放入<script> 标签之中,<script> 标签我们一般是放在<body>标签之后,这只是我的习惯而已.
上一篇文章我们做了一个标签,现在我们通过一个简单的语句对标签的文本进行修改.对此,我们需要给标签添加一个id,类似于标识符的东东.标识符,这个要稍微解释了一下,如果一个网页,那么多HTML元素,没有标识符,我们怎么知道我们要对哪一个元素作操作呢,所以标识符是必备的元素.代码如下.

            <p id = 'label'>HelloWorld</p>

然后我们在<script >标签中整上如下代码.document代表着当前的html文件,然后我们通过getElementById()这个方法找到对应的元素,通过innerHTML进行赋值.由于代码是顺序执行的,所以标签最后显示的是骚栋,要开始搞事了!,而不是先前的HelloWorld.

    <script >
        document.getElementById("label").innerHTML ="骚栋,要开始搞事了!";
    </script>

整体代码如下.

<!DOCTYPE html>
<html>
    
    <head>
        <meta charset="utf-8" />
        <title>骚栋的世界</title>
    </head>
    
    <body>
            <p id = 'label'>HelloWorld</p>

    </body>
    <script >
        document.getElementById("label").innerHTML ="骚栋,要开始搞事了!";
    </script>
    
</html>

效果图如下所示.

JavaScript的基本数据类型


下面所有示例均在<script>标签中进行的.

上面我们已经说过JavaScript的基本使用了,接下来我觉得应该说说JavaScript的所包含的基本数据类型,下面我先列一个JavaScript与OC的数据类型对照表.方便大家参照搞事.

JavaScript Object-C
字符串 NSString
数字 NSNumber
布尔值 BOOL
数组 NSArray
对象 NSDictionary
Undefined 和 Null NSNULL

其实JavaScript作为一个弱语言,真心很弱很简单(当然弱却不代表JavaScript就是弱鸡语言,这恰恰相反,要不为什么H5会这么受欢迎?),为什么这么说呢,JavaScript可以做各种类型推导,一个变量可能各种数据类型各种变,一个var就各种变量各种表示,比如我们下面一个变量.然后就可以各种玩了.😂😂😂

        var obj;//定义一个变量
        obj = 1;//先赋值个数字类型玩玩
        obj = "你好";//再赋值个字符串类型玩玩

JavaScript字符串

JS中字符串可以是引号中的任意文本。JS中可以使用单引号或双引号.但我们在OC中定义一个字符串是需要区分是否有可变以及不可变,这是必须的操作,因为手机的内存本来就小,节约使用也是可以理解的,但是在JavaScript就简单粗暴多了,管你可变不可变,先定义再说,两者比较定义如下所示.

    //OC的可变和不可变的字符串的定义
    NSMutableString *mutableString = [[NSMutableString alloc]init];
    
    NSString *sting = @"你好,JS的世界";
        var objString = "你好,OC的世界";
        var helloString = 'hello,OC';
JavaScript数字

JavaScript数字是没有整形和浮点型之分的,只有一种类型.OC的数字类型初始化的时候相对来说比较麻烦.

//OC
  NSNumber *firstNumber = [[NSNumber alloc]initWithInt:10];

var firstNumber = 10;
var secondNumber = 20e4;//科学计数法
JavaScript布尔值

JavaScript的布尔值是truefalse.OC的布尔值那就可以就真的是五花八门了,YESNO,0和1或者是truefalse.

    //OC
    BOOL result = YES;
        var boolOfYes = false;
        var boolOfNo = true;
JavaScript数组

与其他类型相似,在JavaScript并没有可变数组和非可变数组之分,只有一种数组类型.

    //OC
    NSArray *array = @[@"1",@"2",@"3"];//不可变数组
    NSMutableArray *mutableArray = [NSMutableArray array];//可变数组
        var newArray = new Array;
        newArray[0] = 1;
        newArray[1] = 2;
        newArray[2] = 3;
        
JavaScript对象

JavaScript对象并不是OC中常说的对象,而是OC中的字典类型.想要获取对象中的某一个

    //OC
    NSDictionary *dic = @{
                          @"name":@"saodong",
                          @"age":@"18",
                          @"gender":@"man"
                          };
    NSMutableDictionary *mutableDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"saodong",@"name", nil];
        var obj = {name:'saodong',age:'18',gender:'man'};
        var peopleName = obj.name;

JavaScript的Undefined 和 Null

其中Undefined 这个值表示变量不含有值,可以通过将变量的值设置为 null 来清空变量。

        var newNumber;//现在newNumber的值就是Undefined
        newNumber = null;//这样代表把变量的值清空了.

JavaScript的函数形式


相比于OC中的方法,JavaScript的形式如下所示.

比如我们如下代码修改标签的文本.

    <body>

        <p id='label'>HelloWorld</p>

    </body>
    <script>
    
        var firstString;

        function myAction  (   wordString  ) {

            firstString = wordString;

            return firstString;
        }
        
        document.getElementById("label").innerHTML = myAction('又是崭新的一天');
    </script>

效果图如下.

结束


好了,这篇关于JavaScript的数据类型和函数相关的文章就要到这了,下一篇文章将要对JavaScript的对象类型做一下解释.如果有任何问题,作为小白的我欢迎大家来交流批评.

上一篇下一篇

猜你喜欢

热点阅读