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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容

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