當前位置:首頁 » 網頁前端 » 前端對象
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端對象

發布時間: 2022-01-18 12:31:25

前端怎麼理解面向對象

prototype是javascript實現與管理繼承的一種機制,也是面向對象的設計思想.構造函數的原型存儲著引用對象的一個指針,該指針指向與一個原型對象,對象內部存儲著函數的原始屬性和方法;我們可以藉助prototype屬性,可以訪問原型內部的屬性和方法。
當構造函數被實列化後,所有的實例對象都可以訪問構造函數的原型成員,如果在原型中聲明一個成員,所有的實列方法都可以共享它
原型具有普通對象結構,可以將任何普通對象設置為原型對象; 一般情況下,對象都繼承與Object,也可以理解Object是所有對象的超類,Object是沒有原型的,而構造函數擁有原型,因此實列化的對象也是Object的實列
原型上增加成員屬性或者方法的話,它被所有的實列化對象所共享屬性和方法,但是如果實列化對象有和原型相同的成員成員名字的話,那麼它取到的成員是本實列化對象,如果本實列對象中沒有的話,那麼它會到原型中去查找該成員,如果原型找到就返回,否則的會返回undefined

㈡ 怎麼把前端object對象傳遞給後台

使用ajax發送json給後台。 $.ajax({ type:'POST', url : xxx.action", data : {"list" : '把list拼成json數據'}, dataType : "json", success : function(data){ //成功處理 }, error : function(){ //錯誤代碼 } });

㈢ js對象的用法是什麼

//js中創建對象有兩種方法:

//1、對象字面量法

var o1={name:"aaa",age:17};

//2、構造函數法

var o2=new Object();

o2.name="bbb";

o2.age=20;

㈣ 如何拿到前端傳過來的json對象

將數據以json格式傳給前端:
function generateDtb() {
//寫入
var txtName = document.getElementById("txtName").value;
//創建數組
var dtb = new Array();
//通過循環把數據寫入到數組並返回
for (var i = 0; i < firstGroup.length; i++) {

var row = new Object();
row.Name = txtName;
row.fullMoney = firstGroup[i].value;
row.discount = secondGroup[i].value;
dtb.push(row);
}
return dtb;
}

把數組轉換成json串傳入到後台:
$(function () {
//點擊botton1
$("#lbtnOK").click(function () {
var url = "DiscountManger.aspx?ajax=1";
var dtb = generateDtb();
// var strName = document.getElementById("txtName").value;

if (dtb == null)
{ }
else {
//序列化對象
var postdata = JSON.stringify(dtb);
//非同步請求
$.post(url, { json: postdata }, function (json) {
if (json) {
jBox.tip("添加成功!", "提示");
location.reload();
}
else {
jBox.tip("添加失敗!", "提示");
location.reload();
}
}, "json")

}
});
});

在後台的操作:
首先判斷是否需要傳輸數據

if (!IsPostBack)
{
//判斷是否非同步請求
if (Request.QueryString["ajax"] == "1")
{
ProcessRequest();
}

在這里進行對數據的處理:
///
/// 處理非同步請求
///
private void ProcessRequest()
{
//存入要填寫的策略
ArrayList arrDiscount = new ArrayList();
Response.ContentType = "text/html";
string json = Request.Form["json"];
//反序列化DataTable
if (json == null)
{
return;
}
else
{
DataTable newdtb = Json2Dtb(json);
for (int i = 0; i < newdtb.Rows.Count; i++)
{
Entity.StrategyDiscount enStrategyDiscount = new Entity.StrategyDiscount();
//打折方案名
enStrategyDiscount.name = newdtb.Rows[i]["Name"].ToString();
//商店ID
enStrategyDiscount.shopId = long.Parse(LoginInfo.ShopID);

enStrategyDiscount.fullMoney = Convert.ToDecimal(newdtb.Rows[i]["fullMoney"].ToString());
enStrategyDiscount.discount = Convert.ToDecimal(newdtb.Rows[i]["discount"].ToString());
//寫入數據到數組
arrDiscount.Add(enStrategyDiscount);
}
//寫入數據到資料庫
IStrategyBLL strategy = new StrategyBLL();

if (strategy.AddStrategyDiscount(arrDiscount))
{
Response.Write("true");
Response.End();
}
else
{
Response.Write("false");
Response.End();
}

}

這里,我們需要把json轉換成datatable
///
/// Json轉DataTable
///
///
///
private DataTable Json2Dtb(string json)
{

JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = jss.Deserialize(json);
DataTable dtb = new DataTable();
if (dic.Count > 0)
{
foreach (Dictionary drow in dic)
{
if (dtb.Columns.Count == 0)
{
foreach (string key in drow.Keys)
{
dtb.Columns.Add(key, drow[key].GetType());
}
}
DataRow row = dtb.NewRow();
foreach (string key in drow.Keys)
{
row[key] = drow[key];
}
dtb.Rows.Add(row);
}
}

return dtb;
}

這樣,就可以把數據無刷新的寫入到資料庫。
當然,如果我們有一個從資料庫讀取的datatable,如果通過json顯示在前台呢。
首先,我們需要把datatable轉換為json數據

///
/// DataTable轉Json
///
///
///
private string Dtb2Json(DataTable dtb)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = new ArrayList();
foreach (DataRow row in dtb.Rows)
{
Dictionary drow = new Dictionary();
foreach (DataColumn col in dtb.Columns)
{
drow.Add(col.ColumnName, row[col.ColumnName]);
}
dic.Add(drow);
}
return jss.Serialize(dic);
}

然後寫回到前台

///
/// 處理非同步請求
///
private void ProcessRequest()
{
Response.ContentType = "text/html";
string json = Request.Form["json"];
//反序列化DataTable
DataTable newdtb = Json2Dtb(json);
//序列化DataTable為JSON
string back = Dtb2Json(newdtb);
Response.Write(back);
Response.End();
}

在前台接受顯示:

$(function() {
//點擊botton1
$("#botton1").click(function() {
createTable(json);
});
});

//顯示Json中的數據
function createTable(json) {
var table = $("");
for (var i = 0; i < json.length; i++) {
o1 = json[i];
var row = $("");
for (key in o1) {
var td = $("");
td.text(o1[key].toString());
td.appendTo(row);
}
row.appendTo(table);
}
table.appendTo($("#back"));
}

㈤ 如何在前端輸入多個同一對象的各個值,將這個對象的集合傳入到java後台中

前端以id的方式傳參,每個input設置不同的id,後台方法參數裡面接收不就行了,具體怎麼ssm框架下前端傳參到後台,網路一下就ok

㈥ JS 對象之間的比較是怎麼比較的

今天看紅寶書,裡面講到相等操作符,也就是==和===

「如果兩個操作數都是對象,則比較他們是不是同一個對象,如果兩個操作數都指向同一個對象,則相等操作符返回true,否則,返回false」。

我做了一個例子

  • functionperson(){

  • //definesomeperopertyhere

  • }

  • varp1=newperson();

  • varp2=newperson();

  • console.log(p1==p2);//false

按照他說的指向同一個對象了啊,為什麼返回的是false呢?

然後我又查了查,發現有人這樣說

「如果等號兩邊是對象或者對象的函數,則比較地址是否相等(即判斷兩者是否引用的同一對象)」

可是這里的地址指什麼呢?

然後 有綜合了一些查詢結果,發現這里的地址應該指的是內存地址。「每生成一個實例就會重新佔用一些內存」,所以兩次生成的person佔用的是不同的內存地址。所以返回結果是false。

那這樣的話怎麼樣才能用==返回true呢?我又查了一下,沒有找到特別合適的例子,指找到一個用prototype定義函數可以得到== 返回true的效果

  • functionperson(name){

  • this.name=name;

  • }

  • varp1=newperson("p1");

  • varp2=newperson("p2");

  • console.log(p1==p2);//false

  • person.prototype.sayHi=function(){

  • //dosayHihere

  • }

  • console.log(p1.sayHi()==p2.sayHi());//true

  • console.log(p1.sayHi()===p2.sayHi());//true

㈦ js中對象一般由什麼組成

js中對象一般由屬性和方法組成。

js對象的分類:

1、內置對象:

由ES標准中定義的對象,比如:Object、Math、Date、String、Array、Number、Boolean、Function等。

2、宿主對象:

由JS的運行環境提供的對象,目前來講主要指由瀏覽器提供的對象。比如BOMDOM。比如console、document。

3、自定義對象:

自己創建的對象,通過new關鍵字創建出來的對象實例。

(7)前端對象擴展閱讀:

js原型對象的作用:

1、在js的所有內置對象中都存在prototype原型屬性。

2、在js的內置對象的原型屬性中,追加方法,那麼該方法會自動追加到內置對象中。

3、js的原型屬性最終的目的是給內置對象追加方法。

使用方式:

function Array(){

//創建一個原型對象

this.prototype(原型屬性) = new Prototype();

//自動追加

this.seach = function(target){

...

}

}

function Prototype(){

this.seach = function(taget){

...

}

㈧ Js中什麼是對象,什麼是方法

什麼是對象


JavaScript 中的所有事物都是對象,如:字元串、數值、數組、函數等,每個對象帶有屬性和方法。


對象的屬性:反映該對象某些特定的性質的,如:字元串的長度、圖像的長寬等;


對象的方法:能夠在對象上執行的動作。例如,表單的「提交」(Submit),時間的「獲取」(getYear)等;

JavaScript 提供多個內建對象,比如 String、Date、Array 等等,使用對象前先定義,如下使用數組對象:

varobjectName=newArray();//使用new關鍵字定義對象
或者
varobjectName=[];

訪問對象屬性的語法:

objectName.propertyName

如使用 Array 對象的 length 屬性來獲得數組的長度:

varmyarray=newArray(6);//定義數組對象
varmyl=myarray.length;//訪問數組長度length屬性

以上代碼執行後,myl的值將是:6

訪問對象的方法:

objectName.methodName()

如使用string 對象的 toUpperCase() 方法來將文本轉換為大寫:

varmystr="Helloworld!";//創建一個字元串
varrequest=mystr.toUpperCase();//使用字元串對象方法

以上代碼執行後,request的值是:HELLO WORLD!


㈨ 前端對象的屬性是純數字的話有什麼影響

不好識別屬性的意思,別人接受你的項目的時候就會很麻煩

㈩ 前端js如何生成一個對象,並轉化為json字元串

首先,你說什麼controller這個東西和你後面的如何遍歷集合在返回成json一點關系都沒有。
你要做的不是講集合變成json對象,而是將集合變為json字元串,這樣在返回前端的時候就是json字元串,前端在自己變為json對象。

其次,如果這個工程是你自己建的,那麼你可以要導入json的工具包,或者你自己寫一個轉化為json對象的方法。