JS总结心得-(未完善持续更新)

JS原生代码比较笨拙
1:无法对于一系列,如:数组元素进行快捷操作,或都要运行一个函数,函数可以是赋值,赋方法,什么类似添加进表格,这些其实需用一个for或者一些别的函数进行循环遍历,才可以将数组里的所有元素进行操作,这个在JQ里是很舒服的。
2:Js无法直接获取class==某值的元素,因为 (这里有问题)
getElementsByClass或者ClassName这个方法是不存在的,需要我们去定义才可以使用。
其实JS无非就是如何操作dom,一般都会涉及到数组。数据,所以数组的push方法也是很重要的。
3:JS是原生的代码,所以有一个打包封装的概念很重要,面向对象的东西,能打包尽量打包再处理.
4:JS事件触发,子元素children是一个数据集合,
想要取里面的数据,必须标清索引值是多少。
5:原生JS不支持属性类似于margin-left这些东西。注意:需采用驼峰式命名如:marginLeft
6:原生Js里没有index属性,需要循环数组用Arr[i].index=i进行定义后使用
7:原生Js里的class值获取是className,有className的时候前面不用加.style(注意),display这些属性就需要加.
8:注意innerHTML这里的HTML是大写的.
9:新建一些元素或者,内容都在文档里创建所以一般都加document.create,另外在添加dom的时候textNode是也是一个dom节点其实(文本节点)
10:(parentNode).insertBefore(新加的元素,添加元素的位置的元素(节点/Dom/多重表示方法)) 属性注意parenNode是添加元素位置节点的父亲节点,不然找不到应该加去哪里.
11:通过Js控制坐标,必须,前面必须用absolute,而且记得加’px’
12: this的指代 function test(){ alert(this)} 指代window(测试一下) test() 并不是看谁调用了这个对象,看调用对象有没有传参????(this有指代当前的含义)在JS事件中
如果this想指代当前对象,需要在事件中传实参,JQ 的KaTeX parse error: Expected group after '^' at position 1007: …正则表达式:一般的书写格式为/^̲/ 两个斜杠加上标加个 号 , 数 字 正 则 一 般 为 : / 1 [ 2 , 3 , 4 , 5 ] [ 7 , 6.5 ] 9 号, 数字正则一般为:/^1[2,3,4,5][7,6.5]{9} /1[2,3,4,5][7,6.5]9/ 第一个数字代表正则数字的第一位的要求要填什么,第一个中括号 {}中括号代表位数可以用逗号隔开.表示可以输5位,也可以输6位
[]为格式要求.中括号里的东西不用空格如:[a-zA-Z0-9 ] 花括号里如果有两个数字则代表{5,6}5位,6位规则是什么,前面当然也需要两个[]-[]相对应,如果非规则字符串则不需要则可以不加空格可以加.-是一条横线
{5,6}这个正则位数,意为着前面有5个数字,而只有5-6有要求
意思为只能填一些什么,第二个中括号,待会回去看下

搜索空格的时候\s要加一个加号、还有trim
29:可以为空,但不能出错,CSS3的伪类选择器:如p[dataStyle=^g] 下面属性值要有g
匹配所有的属性值,且必须为首字母^是首字母
30:prototype和面向对象的应用。他并不是所有的属性都有的,或者说该属性只能某些对象有,因为
array可以设置而var a=12 a是没有的。因此有的都可以指代对象,也可以理解为this能指代出东西了才行
对于匿名函数里function什么情况可以指代出对象呢,有的object并没有prototype属性。
new 的时候不是object window是boject object
31.用原生JS加class为a . className=“abc”,不要的话也为="" 空
32: .children里得到的是一个数组就算他只有一个,可以用children[0].children而不能children
32.组件化,面向对象,前后是有关联的如this的指代,面向对象有个思路,无论是谁他的父亲或者祖父对象定义一个方法也好,谁定义都好,无所谓,只要我们能取到我们需要的对象,
我们就可以利用传参的形式去操作。this的指代应用注意区别区分。
33.有个2个中括号的要理解一下,怎么能做一个事件呢
34:拖拽问题,至于为啥要点击坐标减去offset位置,得到的仅仅是得到点击模块的位置的相对坐标,因为后面点击移动了的地方,也包含了方框里的坐标,这个时候减去就可以得到拖拽的位置了
他不是说你点到什么地方,那个模块就飞到这个地方的坐标,而是左上角的坐标。
调用方法必须要写在函数声明下
操控dom
直接test()类型的调用函数,不属于任何对象。
appenChild
innerHTML
形参和实参的区别
35:匿名,非匿名,字面量
36.if(arrH2[i] != this){这个思路对于点击菜单很不错,js for循环遍历,如果不相等则改变效果。
37.Bom的同级关系。.php和dom是同级的
bom. window.location
prompt
split和replace测下熟悉下
cookie值也是操作dom,形式也要=“用户=密码”,浏览器的 cookie会有分号要用 split(";")把他变换成数组,分割的时候会有空格,split可以去掉空格
reverse
json.stringify() 接口传送回来的数据转换成string字符串的方法
38:代码执行上下文,作用域
39.keycode=13,每个keydown事件都有一个keycode对应一个按键,ctrl键等于 ctrlKey
\n
阻止事件冒泡,如果父级元素也有事件,并且需要单独执行的,需要加一个oEvent.cancelBubble =true就可以了 (当该事件元素被点击时所有的事件对他都没影响)
e.preventDefault()会阻止当前自身的不会受到冒泡影响

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值