• 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条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部