代码中犯过的几个小错误

#1 js中判断变量的类型:

js中有时需要根据某个js变量的类型来进行相应的操作,那么就需要对js类型进行判断了。Js的变量类型有三种:StringObjectNumber

【方式1】:使用typeOf 变量名 

 if(typeOf   tabNames==‘string’){}

【方式2】:使用 变量.Constructor 判断

variable

typeOf

Constructor

{str:”uuu”}

object

object

{“ab”:”str”}

object

Array

function(){}

function

Function

“ssss”

string

String

11

number

Number

true

boolean

Boolean

new User();

object

User

 

#2通过js方法修改form表单的action

在一个form表单中根据点击的按钮,提交给不同的action地址处理时,就需要在点击按钮时调用js方法临时修改form表单默认的action地址,进行提交。

 

#3 使用jdbc连接数据

我们在创建数据时,一般都会选择字符编码为utf8,这样可以统一每张表中的中文数据的编码方式为utf8m,但是在使用jdbc连接数据库,进行insert数据时,还会出现插入到数据库的数据存在乱码现象。

【原因】因为后台通过jdbc连接数据,然后在后台里写中文,插入到数据库,但是如果这里的中文编码不是utf-8的,那么插入到数据库中必然乱码。如何保证在后台插入的数据是utf-8的呢,A:将插入数据代码所在的文件的编码格式设为utf-8.B:设置jdbc数据url的连接参数后面加上字符编码,这也是经常使用的解决方式。

【解决】

 

注意中间的”&”需要需要转义成&

#4 做开发以来犯了一个最低级的错误

在学习的时候了,就曾了解过类似这样的错误,但自己还是跳进去了!

【内容】在做DAO层的数据交互时,有2dao类,互相创建了对方的引用对象:

如:在A类中创建了B类的对象,在B类中创建了A类的对象,当时是根据需要创建的,也没多考虑,在运行的时候报错,总是报栈溢出错误。在debug期间才发现,当执行到创建对象的代码时就报错了。

【原因】在B类中创建一个对象A时,一定回执行该对象的默认构造方法,然后初始化A类中变量,而A类中的其中一个引用变量就是B类对象的引用,那么JVM就会去创建B类对象,同理B类中也去创建A类对象,而变量是存放在栈内存中的,程序执行的速度又非常快,这样一来过几秒,就会栈溢出了。

【注意】同多线程的死锁原理一样,不能这样干的

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值