前言
作为一个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的布尔值是true
和false
.OC的布尔值那就可以就真的是五花八门了,YES
和NO
,0和1或者是true
和false
.
//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的对象类型做一下解释.如果有任何问题,作为小白的我欢迎大家来交流批评.