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


前言


作为一个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的对象类型做一下解释.如果有任何问题,作为小白的我欢迎大家来交流批评.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,072评论 6 13
  • 第1章 JavaScript 简介 JavaScript 具备与浏览器窗口及其内容等几乎所有方面交互的能力。 欧洲...
    力气强阅读 4,943评论 0 0
  • 本文内容来源于智库第十期线上分享-唐翊平的分享,在此做整理分享学习😊 “一切从问题出发,是一个产品经理必备的素质”...
    梓源阅读 5,161评论 1 5
  • less语法中是可以进行一些运算的 很简单,比如说定义一个变量宽度,可以使用加减乘除运算对他进行一些计算直接举个栗...
    _信仰zmh阅读 11,077评论 0 0
  • 本文屏幕旋转方案仅限于兼容iOS8+ 1. 从APP层次谈起 APP常见的布局层次如下图所示: 里层UIViewC...
    AliThink阅读 4,726评论 0 10

友情链接更多精彩内容