JSPatch一些容易犯错的地方
JSPatch一些自己使用后的发现:
1.JS不区分整数和浮点数。解析字典以后的value不需要通过 floatValue等方法转换,而是自动就转换成对应的数据类型。
2.nil在JSPatch中 不能使用,如果是用if(a == nil)应该用if(!a)来代替。
3.self.view.setFrame({x:0,y:0,width:100,height:100}); 设置frame必须这种格式,如果是CGSize那么就在括号里写上{width:100,height:100}。当我们需要获得全屏的宽度的时候我们需要怎么做呢?var tempScreenHeight = UIScreen.mainScreen().bounds().height 明显可以看到 他与我们平常相比 bounds之后 可以直接获取到height 而不是 size.height这个需要注意。
3.== 在JSPatch中只能比较基本数据类型,遇到自己写的类 或者model是无法比较的。
4.C底层的方法在JSPatch中不能直接调用,宏如果想要调用,1.如果没有与C有关的语句可以直接写一个函数方法进行调用。2.举例如下:require(’JPEngine’).addExtensions([‘XXX’])增加拓展
5.首先从 OC 返回的 NSArray / NSDictionary 对象是不能直接用 for...in 遍历的,需要调用 .toJS(), toJS是它给的一个接口,把OC对象转成JS对象。
6.在OC中我们会使用 Arr[100],来获得 数组的101位,而在js中如果你是OC代码中的数组则需要 objectAtIndex(i);如果你是在JS中自己var a = [1,2,3],那么你要拿到他的数目你要用的是 a.length,但是 如果是OC转过来的数组 则需要用 a.count();如果 OC的使用了length那么数目永远返回0,如果 JS使用count是会报错的。
7.我们平常用的NSString 的format方法 在JS中 可以直接用+连接,比如 var C = ’A’ + ‘B’;
如果遇到不是str的可以用String(x)的方式来转成str类型。
8.在里面使用Block的时候要注意 不能使用self。如果你要用需要先在外面var slf = self;否则是会报错的。
9.我们在用一些方法如tableview initWithStyle_reuseIdentifier 我们要注意 style是枚举,往往是str我们需要用单引号或者双引号括起来。或者直接用数字来表示。
’’里面带的一个工具可以把OC代码转成JS,多次试验后发现基本出错的问题也就是我上面的一些问题:只要注意我上面的问题基本是不会错了
网址:http://bang590.github.io/JSPatchConvertor/
还有个最新出的在JSPatchX是一个插件可以在Xcode中使用:
https://github.com/bang590/JSPatchX
JSPatch一些容易犯错的地方的更多相关文章
- 关于C#编程中引用与值类型赋值的一些容易犯错的地方
值类型与引用类型的区别在于:值类型在赋值的时候是拷贝值,引用类型在赋值的时候的拷贝引用.记住这一个原则,我们再来分析一些具体情况: PointStruct pt1 = ,); PointStruct ...
- 使用vue-cli脚手架安装的eslint 容易犯错的地方
1. 函数名字与括号之间要有空格. 2. 不要使用双引号 3. 不要有多月的空行 4.函数参数的逗号后要有空格 5.每个结束语句以后不用加“分号”
- javascript sort方法容易犯错的地方
sort方法用来对数组排序非常方便.但是sort(func)这个func参数的构造却很容易混淆. sort判断func的返回值是判断正负,而不是ture和false.所以务必保证返回值要么负数要么正数 ...
- caffe实现focal loss层的一些理解和对实现一个layer层易犯错的地方的总结
首先要在caffe.proto中的LayerParameter中增加一行optional FocalLossParameter focal_loss_param = 205;,然后再单独在caffe. ...
- 朱晔和你聊Spring系列S1E6:容易犯错的Spring AOP
阅读PDF版本 标题有点标题党了,这里说的容易犯错不是Spring AOP的错,是指使用的时候容易犯错.本文会以一些例子来展开讨论AOP的使用以及使用过程中容易出错的点. 几句话说清楚AOP 有关必要 ...
- Makefileeasy犯错的语法
1.引言 近期学习android的Build系统,接触最多的自然就是Makefile语法.发现非常多easy出错的地方,不避开这些错误语法没法真正了解Makefile的内涵.以下就介绍遇到的一些让人困 ...
- 致DBA:为什么你经常犯错,是因为你做的功课不够
专职做DBA已经6年多的事件了,看同行.同事犯了太多的错误,自己也犯了非常多的错误.一路走来,感触非常深.然而绝大多数的错误其实都是很低级的错误.有的是因为不了解某个引擎的特性导致:有的是因为对线上环 ...
- vue router引入路由与路由配置容易犯错的地方与常见的报错与处理报错
首先npm安装vue-router插件,就不说了其次: 先看下我本地的目录结构吧 第一步:在src目录下新建一个专门存放router的index.js文件里面的内容为: import Vue from ...
- 不知道哪里alert undefined 用下面的语句是js报错.F12能提示报错的地方window.alert=function(aa){ if (typeof (aa)"undefined"){ throw "就是这";}};
不知道哪里alert undefined 用下面的语句是js报错.F12能提示报错的地方 var oldalert=window.alert; window.alert=function(aa){ i ...
随机推荐
- java中三种方式获得类的字节码文件对象
package get_class_method; public class ReflectDemo { /** * @param args */ public static void main(St ...
- jQuery相册预览简单实现(附源码)
1.CSS样式 <style type="text/css"> html,body,.viewer,.viewer .pic-list,.viewer .pic-lis ...
- Android 学习笔记之数据存储SharePreferenced+File
学习内容: Android的数据存储.... 1.使用SharedPreferences来保存和读取数据... 2.使用File中的I/O来完成对数据的存储和读取... 一个应用程序,经常需要与用 ...
- Django项目--web聊天室
需求 做一个web聊天室,主要练习前端ajax与后台的交互: 一对一聊天和群组聊天 添加用户为好友 搜索并添加群组 管理员可以审批用户加群请求,群管理员可以有多个,群管理员可以删除,添加禁言群友 与聊 ...
- SQL SERVER2008及以上版本数据库自动备份的三种方法
方法一:创建一个维护计划对数据库进行备份 方法二:创建一个SQL作业对数据库进行备份 方法三:创建WINDOWS任务计划对数据库进行备份 方法一与方法二其实原理基本相同,都必需开启SQL代理服务,都会 ...
- 【第〇课】用更好的IDE开发
推荐的IDE IntelliJ IDEA JetBrains是一家捷克的软件开发公司,这家公司做出了很多的优秀的IDE,有写python的.php的.web前端的……IDEA就是其中一款非常优秀的ja ...
- sysbench测试服务器性能
sysbench目前已经有0.5的版本,不过最普遍使用的依旧是0.4.12,所以接下来我们会以0.4.12这个版本作为测试 Step1:下载安装sysbench wget http://pkgs.fe ...
- [C#高级编程]基础知识摘要一
核心C#: 值类型存储在堆栈中,而引用类型存储在托管堆上. object类型可以用于两个目的: 可以使用object引用绑定任何子类型的对象 object类型执行许多一般用途的基本方法,包括Equal ...
- .NET 配置文件简单使用
当我们开发系统的时候要把一部分设置提取到外部的时候,那么就要用到.NET的配置文件了.比如我的框架中使用哪个IOC容器需要可以灵活的选择,那我就需要把IOC容器的设置提取到配置文件中去配置.实现有几种 ...
- ASP.NET MVC4 数据库连接(EF6.0)
我的博客原文地址:http://www.star110.com/Note/ReadArticle/60641215331146140041.html 环境:.NET MVC4 + EF6.0 连接数据 ...