学习记录4

Posted linquesblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习记录4相关的知识,希望对你有一定的参考价值。

(1)闭包

在一个作用域中可以访问另一个作用域的变量,特点是延展了作用域的范围

(2)递归

函数自己调用自己

在递归的过程中会出错

Maximum call stack  size exceeded

是内存溢出:超过了最大的堆栈大小

递归一般要写一个结束的条件

(3)对象的拷贝

学习记录里的wsc例子,其中父对象的拷贝内容改变不会影响子对象,

拷贝分为浅拷贝和深拷贝

(4)浅拷贝

浅拷贝是指把对象里的简单类型进行负责拷贝,即只是复制对象的1层如果对象里还有对象,里对象或者数组是把地址指给拷贝对象,修改里对象拷贝对象内容也会一起改变

(5)深拷贝

深拷贝是把对象里的复杂类型进行复制,主对象修改不影响复制内容,用递归方式来实现

//深拷贝,将o1拷贝给o2

function deepcode(o1,o2)

for(var key in o1)

//获取key对应的值

var item = o1[key];

//如果是数组

if(o1[key] instanceof Array)

var o2[key]=[];

deepcode(item,o2[key]);

else if(o1[key] instanceof Object)

//如果是对象

var o2[key]=;

deepcode(item,o2[key]);

else

//简单类型

o2[key]=o1[key];

(6)遍历dom

function domtree(parent,callback)

for(var i =0;i < parent.children.length;i++)

var child=parent.children[i];

//console.log(child);

if(callback)

callback(child);

domtree(child);

外部调用

domtree(parent,function(elemets)

elemets.onclick=function()

console.log(this.innertext;);

);

(7)去掉字符串之间空白

1str.replace(/ab/g,‘‘)‘;

2str.split(‘ ‘).join(‘‘);

(8)去掉正则表达式的贪婪模式

在正则表达式内加?

(9)window.load

1window.onload = function()

2$(window).load(function())指的是页面中所有内容加载完成后才发生,包括标签,图片,文件内容

3$(document).ready(function())指的是页面中基本标签加载完毕就执行,会比2快==jQuery(function());==$(function());

(10)顶级对象

dom--document

bom--window

jq-jq-$()

外包$()就会变成jq顶级对象

(11)dom转jq

只要把dom用$()包起来即可,注意this也是dom对象,所以是$(this)

(12)jq转dom

1 $(dom).get(0);

2 $(dom)[0]

(13)jq方法括号内不写表获取,写了表设置

.val()----设置input的value值,内不写就是获取value值

.html()---设置标签内的结构和文字类似innerhtml()

.text()--设置标签内的文字类似innertext()

.index()获取索引值

.parent()获取父元素

$(this).find("li")针对当前元素找到里面的li元素

.css()设置样式1 只写一个属性,就2个参数 2也可以写成键值对$("div").css("width":"200px","height":"150px");

(14)jq选择器

$("div p")div内所有p

$("div >p")div的直接p

$("div *")div内所有元素

获取该元素的子元素显示

$("div").children("ul").show(加数字为显示时间)/hide(加数字为隐藏时间)隐藏

$("div>li:even")li的偶数选择器但在用户界面显示为奇数$("div>li:odd")奇数选择器,用户界面显示为偶数

$("div>li:gt(3)")索引选择器

eq(3)获取索引的元素,索引从0开始

gt(3)获取索引大于3的元素

lt(3)获取索引小于3的元素

obj.siblings()获取兄弟元素的方法
// //现在获取的是obj的所有的兄弟元素
// //obj.siblings("li")
// //获取的是obj的当前的所有li兄弟元素
//find("条件")获取的是调用该方法的对象中的所有的元素
//内部循环,外部不需要写循环,隐式迭代
(15)jq样式代码写法
1默认写法
2定义变量赋值
var a="color":"red",
jq.css(a);
3样式单个连写
jq.css("color":"red").css("color":"red");
(16)添加和移除类样式
addClass(类名称),添加类名称不会覆盖以前样式不用写前面标识冒号,多个add用逗号相连。另一种写法,多个类写在一个括号用空格隔开
removeClass(类名称),移除指定的类,不写为全删
(17)判断是否应用样式
$("div").hasClass(样式名),返回值为true/false
$("div").toggleClass(样式名)这个是切换样式

以上是关于学习记录4的主要内容,如果未能解决你的问题,请参考以下文章

学习记录:快速幂

学习记录:快速幂

《机器学习》第二次作业——第四章学习记录和心得

学习工作记录汇总

学习记录4

2020.7.4 时间记录 总学习9.43