zoukankan      html  css  js  c++  java
  • 零散的学习总结

    零散总结:

    1 .高级程序设计:

    1.Typeof.显示数据类型。

    例: alert(typeof 5);   //number

    String字符串  number 数值  Boolean 布尔值

    Undefined未定义的值  function 函数

    Object 对象

    2.undefined  

    声明了变量后,进行初始化才会让变量结果为undefined,如果没有声明,只有在使用typeof的情况下,可以看到变量的类型为undefined。

    3.null值是一个空对象指针,所以对null使用typeof会返回一个‘object’,表示是一个对象。如果定义变量在未来准备保存什么值,最好将变量初始化为null

    4.布尔值转化。 例如传入数值, var Boolean1=Boolean(1); 返回true,如果是0,返回false。同样用于对象的时候,对象为null返回false;

    例子:  var message=“hellow world”;

       If(message){

       Alert(‘value is true’)

    最常见的布尔值转换,如果有这个变量,或者其他用法,有这样一个用法,则会执行相印的操作。

    5.因为浮点数的精确性为题,0.1+0.2的值的结果回事0.300000000000004,精确到17位,明显数值不正确,所以永远不要测试某个特定的浮点数值。

    6.数值转换。主要涉及三个方法。Number()。常规的将括号内的转化为数值,如果是没有意义的内容则会转化为NAN,,空的字符串转化为0;

    Parseint() 忽略字符串前面的空格,如果第一个字符串不是负号或者数字字符,那么就会返回NaN。会一直解析到非数字字符。因为小数点不是数字字符,所以不会返回小数。可以增加一个说明解析目标的类型的数字。

    parseFloat和parseInt类似,会解析到一个无效的浮点数字为止。例如22.4.2会被解析为22.4、因为第二个小数点是无效的了。

    7.在看到加减操作符的用法时想到,如果要做一些判断的函数,多个条件的情况下,如果不用特殊判断符号,使用转化为number()一类的方法检验字符,数据是否存在,再进行加减操作,例如NaN加任何操作数的结果都是NaN,可以说明,两个数据相加,其中有一个不是数值。

    8.字符串和数值出现在加法中的时候,效果是将字符串和数值拼接起来,例如“sum of a and b”+a+b  的结果是 “sum of a and b ab” ;只有加上括号才会将字符串和数值的运算分开。

    注意:null会转化为0,true会转化为1.

    9.大小符号。  字符串比较会首字母的字符编码大小,

    10.条件操作符,有boolean用法,boolean_expression?ture_value:false_value;

      If(a>b)?a:b;

    11.逗号操作符一般被用于同时给多个变量赋值。

    12.do-while的用法主要是函数内容至少会被执行一次,先do后while。

    13.js可以使用方括号来表示访问对象的属性,在使用方括号的时候应该注意,要将属性以字符串的形式放在方括号中。例如:  alert(object[“id”]);

    14.要访问函数的指针而不执行函数的话,必须去掉函数名后面的那对圆括号。

    15.Arguments主要做用时保存函数参数,他有一个属性,callee,该属性是一个指针,指向拥有这个arguments对象的函数。

     

    二:DOM编程艺术

    1.相对于在<head></head>中添加<script>标签来存放javaScript和引用.js文件在文档的头部放<script>标签引用javaScript这两种方法而言,更好的方法是:

    在上述两种方法加在HTML文档最后,</body>标签之前。 这样能使浏览器快速的加载页面.

    2.charset标签属性规定在外部脚本文件中使用的字符编码。或者文档中使用的字符编码。  -------charset="UTF-8";

    3.“<!-”的效果和//的单行注释效果一样。不需要结尾。

    4.再记忆一次,变量名只用用 _ 或者美元符号$或者英语字母来开头,第一个字母不允许使用数字。内容可以包含字母,数字,美元符号和下划线。下划线可以让比较长的变量名更容易阅读(长的变量名里每个新单词的首字母用大写也可以达到同样的效果如:var firstClass='hapyy' //happy是字面量)。

      *  一个好的习惯:命名变量时,我们才用在不同单词之间加下划线的方式,命名函数时,我们才用第二个单词首字母大写的形式进行区分。

    5.严格比较“===”,除了比较值以外还会比较变量的类型。

    6.var 可以保证在函数内做局部变量时不受全局同名变量的影响。

    7.谨记:getElementByID()中为元素的id属性值,必须放在单引号或者双引号之间。!!返回的是一个对象,如果用alert弹出的话会显示一个object;每个节点都是一个对象。

    8.getElementsByTagName返回的是数组!哪怕只有一个指定属性的元素,返回的也是数组!

     *- getElementById和getElementsByTagName可以组合使用:

         var pp=document.getElementById("qq");

         var ww=pp.getElementsByTagName("*");    //参数是标签的名字

    9.getElementsByClassName()可以同时查找带有多个类名的元素,只要在()中用空格分开就可以啦。 (class1 class2);

    9.1. 获取和设置属性。 getAttribute

          object.getAttribute(attribute)  // 参数是打算查询的属性名字。

           var title-text=span.getAttribute("title")。

                变量      目标元素           属性名

       设置属性:setAttribute :

        var  shopping=document.getElementById("purchases");

          shopping.setAttribute("title","a list of goods");

    10.if(something)和if(something!=null)完全等价,

    判断写法更加简单:if(somethig)alert(XXX)

    11.尽量少的访问DOM和尽量减少标记!

      if(document.getElementById("").length>0){

         var links=document.getElementById("");

            for(){}}

    两次使用DOM访问了其中的元素,浏览器会搜索整个DOM树,从而查找可能匹配的元素,浪费了一次搜索。      更好的方式是:

         var links=document.getElementById("");

            if(link.length>0)....

    *当要获取多个种类的元素节点时,为了解决访问次数过多的问题,应当考虑到设置参数,进行传参的形式。

    12.注意合并放置脚本,多个脚本放在一个js文件中一起做引用。

    13。压缩脚本,删除不必要的字节和注释,工作者可以准备两个版本,一个工作副本和一个精简版本。区分开来,方便修改注释和实际工作。

    14.DOM方法添加标签。 创建元素节点。

          CreateElement: var para=document.createElement(nodeName).

           var testdiv= doucument.getElementById(" ")

          testdiv.appendChild(para);   // 为变量插入标签

         等同于:  document.getElementById("").appendChild(document.createElement("nodeName").

    15.createTextNode方法,创造文本节点。

         var txt=document.createTextNode(text);

    16.在已有元素前插入一个新的兄弟元素:insertBefore(方法)。

       parentElement.insertBefore(newElement,targetElement)。  

         父元素         方法        新元素      目标元素 

    无需知道父元素到底是谁,因为用了目标元素的parent属性。

    17。在已有元素之后插入一个新的兄弟元素。  DOM没有提供insertAfter()方法,但是我们可以自己创建一个这样的方法。

         fuction insertAfter(newElment,targetElement){

               var parent=targetElement.parentNode;

              if(parent.lastChild==targetElement){

              parent.appendChild(newElement;

    }else{

              parent.insertBefore(newElement,targetElement.nextSibling);

    18.创建动态标记的设计思路初体验:

    <script>

            document.write("<p>this is inserted.</P>");

            </script>

    凌乱的笔记:

    1.如果想让双引号或者单引号在代码里表达正常的使用方法,可以用反斜杠,

    放在引号前来包裹要操作的单引号和双引号。

    2."This string has "double quotes" in it"

    当我们需要在字符串中使用与开头结尾相同的引号时,我们需要对引号进行 转

    义 。如果你有很多双引号的字符串,使用转义字符可能导致难以阅读。这时候

    可以使用单引号。

    'This string has "double quotes" in it. And "probably" lots of them.'

    4.     case "a":  answer="apple"; break;

      注意case值为字符串的时候要加双引号。

     多个case可以一起执行相同的函数。 

    case 1:

    case 2:

    case 3:   result="xx";

       break;

    5.用[]引用的时候要注意,属性如果是字符串,应该加上引号。一般用于引用的

    属性带有空格的时候

             中括号操作符的另一个使用方式是用变量来访问一个属性。当你需要遍

    历对象的属性列表或查表时,这种方式极为有用。

    这有一个使用变量来访问属性的例子:

    var someProp = "propName";

    var myObj = {

      propName: "Some Value"

    }

    myObj[someProp]; // "Some Value"

    当我们通过变量名访问属性的时候,不需要给变量名包裹引号。因为实际上我们

    使用的是变量的值,而不是变量的名称。

    中括号运算符总是能代替点运算符。但点运算符却不一定能全部代替中括号运算

    符。

    中括号运算符可以用字符串变量的内容作为属性名。点运算符不能。

    中括号运算符可以用纯数字为属性名。点运算符不能。

    中括号运算符可以用js的关键字和保留字作为属性名。点运算符不能

    6.json  在访问json对象的值的时候,遇到带空格的情况采用[]。逐级用 . 来

    访问目标值。

    1.CSS3 border-radius

    给div元素添加圆角边框:

    div

    {

      border:2px solid;

      border-radius:25px;

    }

    2.利用父元素高度不设置,子元素的padding-top属性,将内容撑开。这时虽然元素高度不变,但是视觉效果是高度自适应了。

      padding-top=width。或者成比例

    3.当margin设置成百分数的时候,其top right bottom left的值是参照父元素盒子的宽度进行计算,在w3c的规范中也是这样描述的: margin 的百分比值参照其包含块的宽度进行计算,同样的padding如果设置成百分数的话,其盒子模型和margin是一样的。

    4.background-position百分比计算公式:

    background-postion:x y;

    x:{容器(container)的宽度—背景图片的宽度}*x百分比,超出的部分隐藏。

    y:{容器(container)的高度—背景图片的高度}*y百分比,超出的部分隐藏。

    如果您仅规定了一个关键词,那么第二个值将是"center"。

    默认值:0% 0%。

    5.background-repeat:no-repeat;  背景图片不要重复铺盖。

  • 相关阅读:
    【Android Developers Training】 73. 布局变化的动画
    【Android Developers Training】 72. 缩放一个视图
    【Android Developers Training】 71. 显示翻牌动画
    svn更改地址怎么办
    python学习手册
    failed to bind pixmap to texture
    Ubuntu 12.04安装Google Chrome
    svn update 时总是提示 Password for '默认密钥' GNOME keyring: 输入密码
    重设SVN 的GNOME keyring [(null)] 的密码
    Nginx + uWSGI + web.py 搭建示例
  • 原文地址:https://www.cnblogs.com/oldchicken/p/6520679.html
Copyright © 2011-2022 走看看