天天看點

javascript ------->this 和json

<!doctype html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>this+json</title>

<script type="text/javascript">

/* js:構造函數傳參---------->能定義私有屬性嗎?類中怎麼定義函數。有靜态類嗎?

function  Person(name,age){

this.name= name;

this.age = age;

}

var p1 = new Person("張三",18);

var p2 = new Person("李四",20);

在構造器中定義形參,執行個體化對象時,通過構造函數傳遞資料。

java:

class person{

private String name;

private int    age ;

   public Person(){

   }

   public Person(String name,int age){

this.name = name;

this.age  = age;

   public String getName(){

return name;

   public void   setName(String name){

   public String getAge(){

return age;

   public void   setName(int age){

在主函數中調用;

Person    p  = new Person("張三",18);

Person    2  = new Person("李四",18);

*/

/* this 的深入了解

》》》》js中函數都是由對象調用起來的。《《《《《

this,誰調用這個函數,this就指向誰。

js中所有函數都是面向對象的。普通函數是window對象在調用它。

function start(){

alert("Hello World");

return true;

 //結果是一樣的。

 alert(start());    

 alert(this.start());

 alert(window.start());

</script>

/*

 * json對象的使用。

  一 : 什麼是json,

  對象是指屬性的無序集合。

  一個對象擁有若幹個屬性。

  '集合'-->是 名/值 對的集合。

  js中可以用{}來表示.

  文法:(屬性名建議用''/""-->安全性)

  {'屬性名1':屬性值,'屬性名2':屬性值,...}

  這樣建立出來的對象叫做json對象。

  二:建立json對象

  var json ={'name':'張三','age':'28'};

  alert(json.name);

  三:使用json存儲多個資料

  function  Person(name,age){

//使用json儲存多個對象

var json={

"p1":p1,

"p2":p2

};

console.log(json);

console.log(json.p1.name);

----------------周遊--------------------------

for(arr in json){

for(son in json[arr]){

console.log(json[arr][son]);

//定義一個json數組

   var arr=[{'name':'張三','age' :'18'},{'name':'李四','age' :'18'},{'name':'王五','age' :'18'}];

   console.log(arr);

console.log(arr[2].name);

for(var i=0;i<arr.length;i++){

for(a in arr[i]){

console.log(arr[i][a]);

   四:json究竟是什麼?

   var json ={'name':'張三','age':'28'};

    alert(typeof json);   ---------->object

alert(json.constructor);--------------->function Object(){[natice code]}

json是一個對象

json是一個object類下的一個對象

 json對象和構造器對象有各自有什麼特點和使用場景!

 json對象:

    簡化了構造器的定義。

   場景: 程式隻需要一個這樣的對象(工具類)

 構造器對象:

  簡化了屬性的定義

   場景: 程式需要多個相同屬性和方法的對象(使用者類)

 五:json中的成員函數

類中定義函數

    function  Person(name,age){

this.eat = function(){

alert(this.name+"吃飯");

p1.eat();

class Person{

public String name;

public int     age;

public void eat(){

 system.out.print(this.name+"正在吃飯");

json中定義函數

 var json ={'name':'張三','age':'28','eat':function(){

  alert(this.name+'吃飯');

 }};

 json.eat();

六:PHP中如何傳遞json

1:生成json  

 string  json_encode($obj|$user);

 A)從數組中生成json

$user = array('name'=>'張三','age'=>30);

$str  = json_encode($user);

echo $str;

B)從對象中生成json

  class Person{

public $name;

public $age;

  }

  $p1 =new Person();

  $p1->name="lisi";

  $p1->age = 18;

  $str = json_encode($p1);

  echo $str;

2:解析json

json_decode($jsonstr,$flag);//預設解析為對象

$flag  true:解析為數組

       false:解析為對象

    $user = array('name'=>'張三','age'=>30);

echo "<pre>";

var_dump(json_decode($str,true));

</head>

<body>

</body>

</html>

本文轉自 沉迷學習中 51CTO部落格,原文連結:http://blog.51cto.com/12907581/1926407,如需轉載請自行聯系原作者