零散的学习总结

零散总结:

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;  背景图片不要重复铺盖。

原文地址:https://www.cnblogs.com/oldchicken/p/6520679.html