Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Сравнение примесей и прототипн 1





ExtendEvent1

//JS

function Button(elem) {

elem.addEventListener('click', this.log);}

Button.prototype.log = function () {

console.log('123');};

 

function Button2(elem) {

Button.apply(this, arguments);}

Button2.prototype = Object.create(Button.prototype);

Button2.prototype.log = function () {

console.log('456');};

window.onload = function () {

var btn1 = new Button(document.getElementById('btn1'));

var btn2 = new Button2(document.getElementById('btn2'));};

//HTML

<button id="btn1">Button 1</button>

<button id="btn2">Button 2</button>

ExtendEvent2

// ModalView.js var ModalView = Backbone.View.extend({ events: { 'click.close-button': 'closeButtonClicked' }, closeButtonClicked: function () { /* Whatever */ } // Other stuff that the modal does });

ModalView.extend = function (child) { var view = Backbone.View.extend.apply(this, arguments); view.prototype.events = _.extend({}, this. prototype.events, child.events); return view; };

// MessageModalView.js var MessageModalView = ModalView.extend({ events: { 'click.share': 'shareButtonClicked' }, shareButtonClicked: function () { /* Whatever */ } }); // ChatModalView.js var ChatModalView = ModalView.extend({ events: { 'click.send-button': 'sendButtonClicked' }, sendButtonClicked: function () { /* Whatever */ } });

Primice

var extend = function(target){

if(!arguments[1]){

return;

}

for (var i = 1; i < arguments.length; i++) {

var source = arguments[i];

 

console.log(source);

for (var prop in source) {

if(!target[prop] && source.hasOwnProperty(prop)){

target[prop] = source[prop]; } } }};

var Track = function(name){ this.name = name;};

var PlayList = function(name){ this.name = name;};

var nameMixin = { getName:function(){ return this.name; }};

var controlMixin = { play:function(){ console.log(this.name + ' started playing'); }};

extend(Track.prototype, nameMixin, controlMixin);

extend(PlayList.prototype, nameMixin, controlMixin);

var superTrack = new Track('Super track');

var coolPlayList = new PlayList('Cool playList');

 

console.log(superTrack);

console.log(superTrack.getName());

superTrack.play();

console.log(coolPlayList);

console.log(coolPlayList.getName());

coolPlayList.play();

Sereliz/desereliz

// de serialization .js

var serialization = require('./serialization');

exports.deserialize= function(){

var result = JSON.parse(serialization.file);

console.log(result.name);

console.log(result.age);

console.log(result.gender);}

//serialization .js

var Rabbit = {

name:'Roger',

age: 25,

gender: 'male'

}

var file=JSON.stringify(Rabbit);

console.log(file);

exports.file=file;

 

//main.js

var deserialization = require('./deserialization');

deserialization.deserialize();

 

 

Wrap

var fs = require('fs');

 

function wrapFunction(fnName, fn) {

return function wrapper() {

var args = [];

Array.prototype.push.apply(args, arguments);

console.log('Function name: ' + fnName);

console.dir('Function argument: '+args);

fn.apply(undefined, args); }}

 

function cloneInterface(anInterface) {

var clone = {};

for (var key in anInterface) {

clone[key] = wrapFunction(key, anInterface[key]);

}

return clone;}

var fake = cloneInterface(fs);

fake.rename('first.txt', 'second.txt', (err) => {

if (err) throw err;

console.log('Renamed complete');

});

 

Type and JVM(Progrev code)

/*Прогрев кода - когда функция запускается много раз,

чтобы JIT подстроился под задачу и оптимально скомпилировал код. */

public class Main{

public static void main (String [] args) {

for (int repeat = 0; repeat < 1500; ++ repeat) {

long i=System.currentTimeMillis();

for (int r = 0; r < 1500; ++r){ sum (1000); }

long u=System.currentTimeMillis();

System.out.println (repeat + ": " + (u-i)); } }

public static int sum (int n) {

if (n <= 1) return 1;

else return n + sum (n - 1); }}

//Динамическая типизация

var result = "string1";

console.log(result); // выводит "string1"

result = 1; console.log(result); // выводит "1"

result += 2; console.log(result); // выводит "3"

result += 'string2';

console.log(result); // выводит "3string2"//Конец демонстрации динамической типизации

/*function sum(n) {if (n == 1) return 1; return n + sum(n-1);}

for (var repeat = 0; repeat < 1500; ++repeat){

var timeS = new Date().getTime();

for (var r = 0; r < 1000; ++r){ sum (1000); }

var timeF=new Date().getTime();

console.log(""+repeat+": "+(timeF-timeS));}

*/

TSP

//SERVER.JS

var net = require('net');

 

var server = net.createServer(function(socket) {

socket.write('From server');

socket.pipe(socket);

});

 

server.listen(1337, '127.0.0.1');

//CLIENT.JS

var net = require('net');

 

var client = new net.Socket();

client.connect(1337, '127.0.0.1', function() {

console.log('Connected');

client.write('Hello, server! From client');

});

 

client.on('data', function(data) {

console.log('Received: ' + data);

});

 

client.on('close', function() {

console.log('Connection closed');

});

 

Связь собитий

//radio.js

var util = require('util');

var EventEmitter = require('events').EventEmitter;

var Radio = function(station) { var self = this;

var onAir = setTimeout(function() {

self.emit('onAir', station); }, 0);

var broadcast = setInterval(function() {

self.emit('broadcast', station); }, 5000);

var offAir = setTimeout(function() {

clearInterval(broadcast);

self.emit('offAir', station); }, 16000); };

util.inherits(Radio, EventEmitter);

module.exports = Radio;

//example.js

var Radio = require('./radio.js');

var station = {

freq: '19.97',

name: 'VBradio',};

var radio = new Radio(station);

radio.on('onAir', function(station) {

console.log('"%s" FM %s On Air', station.name, station.freq);});

radio.on('broadcast', function(station) {

console.log('"%s" FM %s plays song', station.name, station.freq);});

 

radio.on('offAir', function(station) {

console.log('"%s" FM %s Off Air', station.name, station.freq);});

Сравнение примесей и прототипн 1

// 1. Êîíñòðóêòîð Animal

function Animal(name) {

this.name = name;

this.speed = 0;}// 1.1. Ìåòîäû -- â ïðîòîòèï

Animal.prototype.stop = function() {

this.speed = 0;

console.log(this.name + ' stays');}

Animal.prototype.run = function(speed) { var x = 0;

for (var repeat = 0; repeat < 1000000; ++repeat){

x+=1; }

this.speed += speed;

console.log(this.name + ' runs, speed ' + this.speed);};// 2. Êîíñòðóêòîð Rabbit

function Rabbit(name) {

this.name = name;

this.speed = 0;}

var timeS1 = new Date().getTime();// 2.1. Íàñëåäîâàíèå

Rabbit.prototype = Object.create(Animal.prototype);

Rabbit.prototype.constructor = Rabbit;// 2.2. Ìåòîäû Rabbit

Rabbit.prototype.jump = function() {

this.speed++;

console.log(this.name + ' jumps, speed: ' + this.speed);}

var rabbit = new Rabbit('Krol');

rabbit.run(20);

var timeF1=new Date().getTime();

console.log(timeF1-timeS1);// ïðèìåñü

var sayHiMixin = {

Date: 2016-07-22; view: 188; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию