当前位置: 首页 > news >正文

私人网站如何建学生个人网页制作成品代码

私人网站如何建,学生个人网页制作成品代码,北京哪个网站最好,福州网站建设哪家好jQuery基础二 一、JavaScript面向对象 (一)一切皆对象 不管是基本类型和引用类型或者函数都可以看成一个对象调用方法 **基本数据类型:**number boolean string null undefined **引用数据类型:**Object Array Regexp Date Number Boolean String……

jQuery基础二

一、JavaScript面向对象

(一)一切皆对象

不管是基本类型和引用类型或者函数都可以看成一个对象调用方法

**基本数据类型:**number boolean string null undefined

**引用数据类型:**Object Array Regexp Date Number Boolean String…

/*基本数据类型中number*/
var num1 = 3.1415926;
console.log(num1.toFixed(2));//保留2位小数
console.log(typeof num1);//number/*引用数据类型Number*/
var num2 = new Number(3.1415926);
console.log(num2.toFixed(2));
console.log(typeof num2);//object

(二)JS中true和false的判断

0 " " undefined NaN null false表示为false,其他值都表示为true

var b1 = false;
if(b1){console.log("不能输出");
}
//这是一个对象类型,判断 为true 
var b2 = new Boolean(false);
if(b2){console.log("能输出");
}
if(10){console.log("表示true");
}

(三) JS对象的操作

1.创建对象
//方法一
var obj1 = new Object();
console.log(obj1);
//方法二
var obj2 = {name:"猪皮",age:2};
console.log(obj2);
//方法三
function Animal(){}
var obj3 = new Animal();
console.log(obj3);
2.添加属性和方法
obj3.name = "猪皮";
obj3["age"] = 2;//使用[]需要使用引号
obj3.eat = function(food){
console.log(this.name+"喜欢吃"+food);
} 
console.log(obj3);
3.删除属性
delete obj3.name;
delete obj3["age"];
console.log(obj3);
4.遍历对象成员
for(var a in obj3){if(typeof obj3[a] == "function"){//为方法时obj3[a]("小鱼干");//函数的调用需要有()}else{console.log(obj3[a]);}
}

(四)JSON对象和字符串相互转换

标准的json字符串格式:’{“key”:“value”,“key”:“value”}’(key必须使用双引号,值如果不是数字和boolean类型的也必须双

引号)

//json字符串
var jsonStr = '[{"name":"猪皮","age":2}]';
//转换json对象的方法一:eval
var jsonObj1 = eval("("+jsonStr+")");
console.log(jsonObj1);
//转换json对象方法二: window.JSON.parse(jsonStr)	必须使用标准格式	
var jsonObj2 = window.JSON.parse(jsonStr);
console.log(jsonObj2);
//转换json对象方法三: $.parseJSON(jsonStr)	必须使用标准格式
var jsonObj3 = $.parseJSON(jsonStr);
console.log(jsonObj3);

(五)对象属性拷贝

1.方法一 :先从obj1取出来,在赋值obj2

//先从obj1取出来,在赋值obj2 
obj2.address = obj1.address;
obj2.age = obj1.age;
obj2.sex = obj1.sex;

2.方法二:通过hasOwnProperty()来判断是否已经存在这个属性或者方法

//通过遍历,一次性赋值
for(var key in obj1){//判断obj2中是存在这个属性if(!obj2.hasOwnProperty(key)){obj2[key] = obj1[key];}
}

(六)JS函数对象

1.定义方式
var add = new Function("a","b","return a+b");
console.log(add(1,2));//3
2.函数的name属性

只读属性,不能修改

3.window的name属性

默认window.name是空字符串,但是我们可以给这个name赋值

console.log(name);//""
window.name = "名字";
console.log(name); //名字

(七)JS中的this

1.概念

谁调用该函数,this就代表谁

function sayHello() {return this.name;
}
console.log(sayHello());//""  相当于是window.sayHello(),所以this指向window的name
2.修改函数中的this指向
1)call(thisObject,args1,args2…)

第一个参数,是调用对象;第2-n个参数是函数需要的参数,一个个的写

console.log(sayHello.apply(u,[10,11]));
2)apply(thisObject,[args1,args2])

第一个参数,是调用对象,第2个参数是函数需要的参数,是一个数组

console.log(sayHello.call(u,11,12));

二、JS的prototype原型

(一)作用

Javascript中的每一个对象都有一个prototype属性(proto),可以通过该属性往对象上面添加属性和方法

(二)原型共享

1.同一个类的各个实例的原型是相等的
function User(name, age) {this.name = name;this.age = age;this.eat = function(){console.log("吃食物");}
}
var u1 = new User("彩虹",17);
var u2 = new User("桂林",18);
//同一个类的各个实例的原型是相等的
console.debug(u1.__proto__ == u2.__proto__);//true
2.往类原型上面添加属性和方法,其他对象也可以共享
u1.__proto__.sex = "男";
console.debug(u2.__proto__ .sex);//男

(三)对象访问属性

如果本身对象里面有属性和方法,先使用本身对象里面的属性和方法,如果没找到,z再从原型上面找

User.prototype.eat = function(){console.log("火锅");
}
u1.eat();//吃食物

三、JS回调函数

重新回过头来调用函数

例子
1.jQuery的回调
$.get/post(url,data,function(data){})
2.定时器setTimeOut的回调
setTimeout(function(){console.log("定时器回调")
},3000);

四、JS匿名函数

(一)概念

就是没有名称的函数

(二)使用

1.(function(){})()
2.~function(){}()
3.+function(){}()

(三)作用

1.只使用一次

2.可以避免作用域污染问题

(四)作用域污染

定义一个属性默认是在window上的,相当于一个全局变量。当我使用完后不再使用的时候,就出现在window上面,这样会

造成一个作用域的污染

var x = 10;
var y = 20;
var result = x + y;
console.log(result);
console.log(window); 
//解决方法:写一个匿名函数,将这个功能包裹起来,这样变量就只在我的函数里存在
(function(a,b){var result = a+b;	window.getResult = function(){return result;}
})(10,20);var result2 = getResult();
console.log(result);//30
console.log(window);//window上面没有出现a、b的值

五、JS闭包

(一)概念

函数内使用函数外的变量

(二)作用

1.函数中可以使用函数之外定义的变量
var msg = "闭包";
function sayMsg(){console.log(msg);
}
sayMsg();//闭包
2.实现只读属性
var result = 0;	
function getResult(){result = result+1;return result;
}console.log(getResult());//1
console.log(getResult());//2
console.log(getResult());//3
result = 0;
console.log(getResult());//1
console.log(getResult());//2
console.log(getResult());//3_________________________________________________________________(function(){var a = 0;getResult = function(){return a++;}
})();console.log(getResult());//0
console.log(getResult());//1
console.log(getResult());//2
a = 1;
console.log(getResult());//3
console.log(getResult());//4
console.log(getResult());//5

六、JS练习题

/*练习题1*/
var name = "The Window";
var object = {name : "My Object",getNameFunc : function(){alert("1:"+this);return function(){alert("2:"+this);return this.name;};}
};
alert(object.getNameFunc()());//1:[object Object]	2:[object Window]	The Window/*练习题2*/
var name = "The Window";
var object = {name : "My Object",getNameFunc : function(){var that = this;return function(){return that.name;};}
};
alert(object.getNameFunc()());//My Object/*练习题3*/
function Hello(){alert("Hello");
}
Hello();//Hello World
function Hello() {alert("Hello World");
}
Hello();//Hello World

七、jQuery事件机制

事件源:事件发生的源头
事件响应函数:执行的一些操作
事件监听器:监听事件源,监听到之后,可以触发响应函数
事件对象:事件发生 的 事件 地点 人物 封装到一个对象里面
事件名称: 事件名字 onclick keyup keydown

事件源:杰哥的某个部位
事件响应函数: 被别人打了一耳光
事件监听器: 美女神经系统 / 杰哥神经系统
事件对象:这个事件里面的人物、时间、地点 – 封装到对象
事件名称: 摸人事件

(一)事件注册

  1. $("#btn").click(function(){})
  2. $("#btn").bind(‘click’,function(){}) unbind取消绑定
  3. $("#btn").on(‘click’,function(){}) off取消绑定

(二)事件委托

1.概念

绑定事件的元素,必须是在绑定的时候已知的、存在的,对于以后出现的元素是不起作用,事件委托就可以处理这种情况

2.使用
<a id="addFile" href="javascript:;">添加更多附件</a>
<form id="userForm"><div>附件:<input type="file" name="file" /></div>
</form>$(function(){/*常规的事件绑定方法*/$(#addFile).click(function(){var content = '<div>附件:<input type="file" name="file" /><a class="delete" href="javascript:;">删除</a></div>';$("#userForm").append(content);
});
$(".delete").click(function(){alert("删除");
});/*事件委托*/
$("#userForm").on("click","a.delete",function(){alert("删除..");
})
});

八、jQuery事件命名空间

(一)语法

事件名称.命名空间

(二)使用

有一个按钮,可能同时绑定了两个点击事件,做出不同的响应。但是在某种情况下,就需求取消其中一个事件的绑定,就使用命名空间来进行区分

$(function(){		$("#btn").on('click.btn1',function(){alert(1);})$("#btn").on('click.btn2',function(){alert(2);});$("#btn").off('click.btn1');})

九、jQuery扩展机制

(一)概念

在原型prototype上扩展

jQuery.fn = jQuery.prototype = $.fn == jQuery.extend

(二)使用

相当于$("#div").html(“扩展机制”)

<div id="div">扩展</div>$(function(){$.fn.setHTML = function(content){$(this).html(content);console.log(content);	};$("#div").setHTML("扩展机制");
});

十、jQuery自定义插件datagrid

<table id="dg" border="1"><tr><th field="id">编号</th><th field="username">用户名</th><th field="password">密码</th><th field="tel" >电话</th><th field="email">邮箱</th><th field="age" formatter="ageFormatter">年龄</th><th field="headImage" formatter="imageFormatter">头像</th></tr>
</table>$(function(){$.fn.datagrid=function(url){var table = $(this);//找到所有的th表头var ths = table.find("tr th");//发送ajax请求$.get(url,function(data){//行for(var i=0;i<data.length;i++){var obj = data[i];var content = "<tr>";//如果检测到列里面有formatter这个属性调用方法for(var j=0;j<ths.length;j++){var th = ths[j];//<th field="id">编号</th>//取出它的属性fieldvar field = $(th).attr("field");//idvar formatter = $(th).attr("formatter");if(formatter){//调用方法 ageFormatter /imageFormattercontent += "<td>"+window[formatter](obj[field])+"</td>";}else{content += "<td>"+obj[field]+"</td>";}}content +="</tr>";console.log(content);table.append(content);}})}$("#dg").datagrid('employee.json');
});//处理年龄的方法
function ageFormatter(value){if(value && value > 20){return "<font color='red'>"+value+"</font>";}else{return value;}
}
//处理图片的方法
function imageFormatter(value){if(value){return "<img width='50px' height='50px' src='"+value+"'></img>";}else{return "没有图片";}
}
http://www.lbrq.cn/news/2495683.html

相关文章:

  • 网易邮箱官方网seo搜索引擎排名优化
  • 墨尔本网站建设微信营销工具
  • 祝明电子商务网站建设实验报告百度搜索优化怎么做
  • 部队网站建设招标百度推广四川成都地区服务中心
  • 手把手教你做网站 3网页模板代码
  • 房产销售网站设计网站维护一般怎么做
  • 邢台做网站哪家公司好推广普通话手抄报文字内容
  • 云浮哪有做网站公司搜索引擎优化的策略主要有
  • 做十个网站长沙seo服务哪个公司好
  • 公司是否可以做多个网站百度的关键词优化
  • 太原建设设计公司网站网络营销的缺点及建议
  • 网站域名有了 网站如何建设完整的社群营销方案
  • 阿里云网站建设套餐河北seo推广公司
  • 做网站市场价格合肥seo网站排名
  • 网站建设平台报价青岛网站建设有限公司
  • 智能网站开发怎么营销推广
  • 泰安房产信息网seo品牌推广方法
  • 微盟网站模板广州抖音seo公司
  • 网站是用dw做的吗网络广告名词解释
  • 北京营销型网站建设哪家好百度收录情况
  • saas建站平台有哪些seo软件推广
  • 网站xmlwindows优化大师下载安装
  • 杭州网站建设前三移动端排名优化软件
  • 长沙做手机网站建设新闻发稿
  • 唐山哪里有做网站的推广方式和推广渠道
  • 张家港网站建设一个新手怎么做推广
  • 建网站需要哪些费用我想在百度发布信息
  • 网站建设与优化巩义关键词优化推广
  • 怎么下载网站动态图片网页开发
  • 珠海市横琴建设局网站专业的营销团队哪里找
  • MySQL 8.4 Windows 版安装记录与步骤参考
  • OpenResty 高并发揭秘:架构优势与 Linux 优化实践
  • Java学习-------桥接模式
  • 【C/C++】explicit_bzero
  • 2025.7.26字节掀桌子了,把coze开源了!!!
  • java集合框架面试点(2)