前端笔记—基础1

第一节课
1.兼容性问题
(1)概念: 浏览器兼容性问题又被称为网页兼容性或网站兼容性问题,指网页在各种浏览器上的显示效果可能不一致而产生浏览器和网页间的兼容问题。在网站的设计和制作中,做好浏览器兼容,才能够让网站在不同的浏览器下都正常显示。而对于浏览器软件的开发和设计,浏览器对标准的更好兼容能够给用户更好的使用体验。
(2)产生原因:因为不同浏览器使用内核及所支持的HTML(标准通用标记语言下的一个应用)等网页语言标准不同;以及用户客户端的环境不同(如分辨率不同)造成的显示效果不能达到理想效果。最常见的问题就是网页元素位置混乱,错位。
(3)解决方案:对于网页开发者来讲,目前暂没有统一的能解决这样的工具,最普遍的解决办法就是不断的在各浏览器间调试网页显示效果,通过对css样式控制以及通过脚本判断并赋予不同浏览器的解析标准。
如果所要实现的效果可以使用框架,那么还有另一个解决办法是在开发过程中使用当前比较流行的JS,CSS框架,如jQuery,YUI等等,因为这些框架无论是底层的还是应用层的一般都已经做好了浏览器兼容,所以可以放心使用。除此之外,CSS提供了很多hack接口可供使用,hack既可以实现跨浏览器的兼容,也可以实现同一浏览器不同版本的兼容。
2.弱类型语言特点
编译型语言:c/c++/java/c# 例如java:编译时生成.java文件 运行时生成.class文件
脚本语言:js/php/python 无编译,读一行执行一行
编译性语言和脚本语言的区别 :
     编译型语言特点
编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。最典型的例子就是C语言。
脚本语言
脚本语言是一种解释性的语言
脚本语言又被称为扩建的语言,或者动态语言,脚本语言不需要编译,可以直接用,由解释器来负责解释。
脚本语言一般都是以文本形式存在,类似于一种命令.
举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.
你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言
3. 函数中定义变量,是局部变量,但是前面如果没有var则为全局变量,但形参为局部变量,使用时前面不加var
4. 定义变量而没有赋值 undefined 不是错误,而是一种特殊的数据类型 null也是一种数据类型
5. 变量在内存中的存储:堆和栈
            有些数据比较简单、使用频率较高,例如基本数据类型,放在连续的栈中,变量所在的位置就是值所在的位置;变量放在栈,对象放在散列的堆中,通过指针指向对象,变量的值,为对象在堆里面的地址。变量放在栈里面,值看情况放;严格来讲,都是值传递,没有引用传递,值为地址
6. 字符串拼接: 字符串和数字和布尔加减计算, 如果是加任何其他类型碰到字符串都拼接, 其他的字符串强制转换成数字,都为数学计算
7.基础数据类型.属性->
var s="abc";
s=new String(s);
s.length; 这个之前先隐式将基本数据类象转换成引用类型->String 对象,运算之后再重新恢复到
14.paseInt("12.25")->12
paseInt("12.55")->12
paseFloat("12.55")->12.55
paseFloat("12px")->12
paseFloat("abc123")->NaN
15.引用类型
对象(object):
属性
方法

第二节课
1. this代表对当前对象的引用,this只能限定在对象的方法中,方法之外不能使用;离他最近的函数是那个对象下的,在普通的函数中,this指向window,全局函数和全局变量默认存在window下面,注意this指针指丢的问题
2. Array数组的方法
连接两个或更多的数组,并返回新数组,不影响旧数组。
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。什么都不写默认逗号,空字符串默认空
删除并返回数组的最后一个元素,原数组被修改
向数组的末尾添加一个或更多元素,并返回新的长度。原数组被改变
颠倒数组中元素的顺序。
删除并返回数组的第一个元素,原数组被改变
从某个已有的数组返回选定的元素,start开始,截止到end-1,
对数组的元素默认按字母进行排序,字符串按首字母排,
删除元素,并向数组添加新元素。(从此位置开始,删除的个数,加入)
返回该对象的源代码。
把数组转换为字符串,并返回结果。
把数组转换为本地数组,并返回结果。
向数组的开头添加一个或更多元素,并返回新的长度。
返回数组对象的原始值
forEach 循环 数组对象中的一个方法
a:元素
b:下标
c:数组本身

sort()方法要注意的问题

(1).若要按照数值的大小对数字进行排序,就必须在前面加一个排序函数:
            function sortNumber(a,b){return a - b}
      arr.sort(sortNumber)
(2).将有序的数组打乱:
       function sortNumber(a,b){return 0.5-Math.random();}
3. for in 遍历对象中的属性,并且只能打印自有属性,o[p]
4.函数式编程
     将函数当成对象,可以赋值给变量,也可以传参给其他函数
     setInterval(function(){
             },1000)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值