把随机数对象暴露给window成为全局对象 原型及原型链 原型的指向是否可以改变
生活随笔
收集整理的這篇文章主要介紹了
把随机数对象暴露给window成为全局对象 原型及原型链 原型的指向是否可以改变
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
把隨機數對象暴露給window成為全局對象
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><script>// 通過自調用函數產生一個隨機數對象,在自調用函數外面,調用該隨機數// 對象方法產生隨機數(function(window){var num = 10;// 產生隨機數的構造函數function Random(){// 在原型對象中添加方法Random.prototype.getRandom = function(min,max){return Math.floor(Math.random()*(max-min)+min);};}// 把Random對象暴露給頂級對象window---->外部可以直接使用這個對象window.random = new Random();})(window);var num = random.getRandom(0,5);console.log(num);// 全局變量</script> </head> <body></body> </html>原型及原型鏈
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><script>// 使用對象---->使用對象中的屬性和對象中的方法,使用對象就要先有構造函數// 構造函數function Person(name,age){// 屬性this.name = name;this.age = age;// 在構造函數中的方法this.eat = function(){console.log("吃好吃的");};}// 添加共享的屬性Person.prototype.sex = "男";// 添加共享的方法Person.prototype.sayHi = function(){console.log("怎么這么帥");};// 實例化對象,并初始化var per = new Person("小明",20);// per.sayHi();// 如果想要使用一些屬性和方法,并且屬性的值在每個對象中都是一樣的,// 方法在每個對象中的操作也是一樣的,那么,為了共享數據,節省內存空間// 是可以把屬性和方法通過原型的方式進行賦值// 實例對象的結構console.dir(per);// 構造函數的結構console.dir(Person);// 實例對象的類型__proto__和構造函數的類型prototype指向是否相同// 實例對象中__proto__原型指向的構造函數中的原型prototypeconsole.log(per.__proto__==Person.prototype);// 實例對象中__proto__是原型,瀏覽器使用的// 構造函數中的prototype是原型,程序員使用的// 原型鏈:是一種關系,實例對象和原型對象之間的關系,關系是通過// 原型(__proto__)來聯系的</script> </head> <body></body> </html>原型的指向是否可以改變
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><script>// function Student(){// }// Student.prototype.study = function(){// console.log("就是天天學習");// };// Student.prototype = {// eat:function(){// console.log("哈哈,好吃的榴蓮");// }// };// var stu = new Student();// stu.eat();// stu.study();// 人的構造函數function Person(age){this.age = 10;}// 人的原型對象方法Person.prototype.eat = function(){console.log("人的吃");};// 學生的構造函數function Student(){}Student.prototype.sayHi = function(){console.log("小蘇你好帥哦");};// 學生的原型,指向了一個人的實例對象Student.prototype = new Person(10);var stu = new Student();stu.eat();// stu.say();// 原型指向可以改變// 實例對象的原型__proto__指向的是該對象所在的構造函數的原型對象// 實例對象的原型__proto__// 構造函數的原型(prototype)如果改變了,實例對象的原型(__proto__)指向// 也會發生改變// 原型的指向也是可以改變的// 實例對象和原型對象之間的關系是通過__proto__原型來聯系起來的,這個關系就是// 原型鏈</script> </head> <body></body> </html>?
總結
以上是生活随笔為你收集整理的把随机数对象暴露给window成为全局对象 原型及原型链 原型的指向是否可以改变的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为内置对象添加原型方法 把局部变量编程全
- 下一篇: CentOS系统参数优化