-
201304郑乐乐学习报告
普通类 -
- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
-
-
201304郑乐乐学习报告
这个月看了部分css的视频和《javascript语言精粹》的部分内容,在改部分问题时也有其他收获。
1.CSS部分
CSS部分学习的主要内容是是基础性的,主要有CSS的基本语法和核心概念、CSS的文字效果、图片效果、背景效果、CSS的table标签的使用、利用<ul>标签制作菜单。要掌握的都是基础性的知识。
2.javascript部分
javascript里面涉及的部分概念和自己以前对javascript的了解还是挺不一样的。在这里把一些细节性的问题总结一下:
1.javascript里面不要用/* */注释,避免遇到正则表达式出现问题;
2.除了基本的数值、字符串、undefined、null、布尔型几种基本类型,其他的都是对象(包括数组、函数、表达式、对象)。
3.对象来包含属性,属性有名字和值组成(值不可为undefined类型),优先考虑通过‘.’来调用,还可以用[ ]的方式。原型的概念是一个比较重要的,牵扯到继承的问题,这个就和java的父子继承挺像的,对象可以继承原型对象的属性。使用delete方法可以 删除对象的属性。使用一个全局变量来减少全局污染。就是定义一个对象,在里面进一步定义其他的属性。
4.函数:函数也是一种对象,函数的调用有四种方式,不过我们现在用的一般就是一种。函数的四种方式有方法调用模式、函数调用模式、构造器调用模式和apply调用模式。它们的不同在初始化关键字this上有差异。函数可以在调用时会免费提供一个数组arguments,如
var sum=function(){
var i,sum=0;
for(i=0;i<srguments.length;i++){
sum+=arguments[i];
}
return sum;
};
document.writeln(sum(4,8,15,16,23,42)); //108
5.给类型添加方法是很有用处的。例如增加一个移除字符串末端空白的方法。
String.method('trim',function(){
return this.replace(/^\s+|\s+\\\\$/g,'');
});
document.writeln('"'+" neat ".trim()+'"');
6.还有一部分正则表达式的内容,关键在于正则表达式的书写,读的时候必须把每部分进行分解,写的时候一个表达式不要太长。可以处理正则表达式的方法主要有regexp.exec,regexp.test,String.match,String.repalce,String.split.
小例子:(?:([A-Za-z]+):)? 这个因子匹配一个协议名。 正则表达式的常用符号 后缀?表示出现0次或一次此分组是可选的,(?:...)表示一个非捕获型分组,(...)表示捕获型分组,捕获型分组会把里面匹配的内容复制到results数组里面。后面的“:”表示以这个结束的,里面内容是大小写字母,+表示出现一次或多次。
regexp.exec可以返回执行结果(捕获型分组获得的内容),regexp.test只返回是否符合匹配的条件(结果为false或true),/^ \\\\$/i可以是让整个字符串做匹配,否则只是开头或结尾符合,i表示匹配的时候忽略大小写。
除了\ / [ ] () {} ? + * | . ^ \\\\$ 之外的符号都是使用字面量的,这些列出的要使用字面量必须使用转义字符进行标记。[后面是^则是排除后面的那些特殊符号的,因子后面跟着{},里面可以添加数字,表示因子匹配的次数。/www/和/w{3}/是一样的。{3,6}表示重复3,4,5,或6次,{3,}表示匹配3次或更多次。?等同于{0,1},*等同于{0,},+等同于{1,}。
7.方法。方法这部分涉及了一些详细方法的使用。有arrray 、number、object、regexp、string 可以使用的方法,其中注意区分array.splice方法和Sring.slice方法的不同,string.slice是来复制字符串的,array.splice主要是用来删除数组元素的。每个类型还有更具体的一系列方法,就不再详细说明了。关键是有这个使用意识吧。
除了一些具体内容,还有后面的编码风格,主要说了一下空格习惯和块状编写的时候我们使用的{}里{不要在换行的开头写等一些问题。比较有特点的是在书的后面还特意写了一些精华和糟粕,这可以提醒我们javascript使用时会遇到的一些问题。这些应该再仔细些看。
这里还提到一个JSLint工具,使用这个工具可以检查javascript编写的语法检查器和校验器,发现的是一些语法性的错误。
3.其他小结
在改bug的过程中发现一些细节性问题,给的教训就是一定要注意变量类型和查询条件,特别是对于字符串类型的数据,容易忽略单引号的问题,这就直接导致查询数据库的时候出现问题。例如:
(1) sql="select interest from InterestField interest where field=" +field+" and userYN=true";
field属性是字符串类型的,在这里漏掉了单引号,结果就导致查询数据库时类型是错误的,出现找不到相应信息的问题。正确的应该是
sql="select interest from InterestField interest where field=’" +field+"‘ and userYN=true";
(2)建数据库的时候表类型要设置为MyISAM,字符集为UTF-8,否则存中文会出现问题
(3)提交表单的方式有多种:
a. form表单里submit按钮提交 b. 使用ajax提交,要注意引用js c.利用javascript函数进行控制,改变action,提交表单
-
-
- 标签:
- 方法
- 学习报告
- 表示
- 使用
- 对象
- 调用
- 39
- 函数
- 匹配
- 后面
- 类型
-
学习元评论 (0条)
聪明如你,不妨在这 发表你的看法与心得 ~