Thứ Sáu, 17 tháng 3, 2017

Giới thiệu hàm Eval trong Javascript

Giới thiệu hàm Eval trong Javascript

Hàm eval() đánh giá mã JavaScript được biểu diễn dưới dạng một chuỗi.

Giới thiệu hàm Eval trong Javascript


Cú pháp: 
eval(string)
 Eval () là một thuộc tính chức năng của đối tượng toàn cục.

Đối số của hàm eval() là một chuỗi. Nếu chuỗi biểu diễn một biểu thức, eval () sẽ đánh giá biểu thức. Nếu đối số đại diện cho một hoặc nhiều lệnh JavaScript, eval () đánh giá các câu lệnh. Đừng gọi eval() để đánh giá một biểu thức số học; JavaScript đánh giá các biểu thức số học tự động.

Nếu bạn xây dựng một biểu thức số học như một chuỗi, bạn có thể sử dụng eval() để đánh giá nó sau.
Ví dụ, giả sử bạn có một biến x. Bạn có thể trì hoãn đánh giá một biểu thức liên quan đến x bằng cách gán giá trị chuỗi của biểu thức, nói "3 * x 2", cho một biến, và sau đó gọi eval () vào một điểm sau trong mã Javascript của bạn.

Nếu đối số của eval() không phải là một chuỗi, eval() trả về đối số không thay đổi. Trong ví dụ sau, cấu trúc String được chỉ định, và eval () trả về một đối tượng String thay vì đánh giá chuỗi.

eval(new String('2 + 2')); // returns a String object containing "2 + 2"
eval('2 + 2');             // returns 4
Bạn có thể làm việc xung quanh giới hạn này theo cách chung chung bằng cách sử dụng toString().

var expression = new String('2 + 2');
eval(expression.toString());
Nếu bạn sử dụng chức năng eval gián tiếp, bằng cách viện dẫn nó qua một tài liệu tham khảo khác với eval, như ECMAScript 5 hoạt động ở phạm vi chung hơn là phạm vi riêng; Điều này có nghĩa là, các khai báo chức năng tạo ra các hàm chung, và mã được đánh giá không có quyền truy cập vào các biến cục bộ trong phạm vi mà nó được gọi.


function test() {
  var x = 2, y = 4;
  console.log(eval('x + y'));  // Direct call, uses local scope, result is 6
  var geval = eval;
  console.log(geval('x + y')); // Indirect call, uses global scope, throws ReferenceError because `x` is undefined
}

Không sử dụng eval không cần thiết! 

Eval () là một chức năng nguy hiểm, nó thực hiện mã nó được truyền với các đặc quyền của người gọi. Nếu bạn chạy eval () bằng một chuỗi có thể bị ảnh hưởng bởi một bên độc hại, bạn có thể sẽ chạy mã độc hại trên máy của người dùng với quyền của trang web/tiện ích mở rộng của bạn. Quan trọng hơn, mã của bên thứ ba có thể thấy phạm vi mà trong đó eval () được triệu gọi, điều này có thể dẫn tới các cuộc tấn công có thể xảy ra theo cách mà chức năng tương tự không phải là dễ bị ảnh hưởng.

Eval () thường chậm hơn so với các phương án thay thế vì nó phải gọi trình thông dịch JS, trong khi nhiều cấu trúc khác được tối ưu hóa bởi các động cơ JS hiện đại.

Có những lựa chọn thay thế an toàn hơn (và nhanh hơn) để eval () cho các trường hợp sử dụng phổ biến.

Truy cập thuộc tính thành viên

Bạn không nên sử dụng eval () để chuyển tên thuộc tính thành thuộc tính. Hãy xem xét ví dụ sau đây mà tài sản của đối tượng được truy cập không được biết cho đến khi mã được thực hiện. Điều này có thể được thực hiện với eval:


var obj = { a: 20, b: 30 };
var propName = getPropName();  // returns "a" or "b"

eval( 'var result = obj.' + propName );
Tuy nhiên, eval () không cần thiết ở đây. Trên thực tế, việc sử dụng ở đây không được khuyến khích. Thay vào đó, sử dụng các thuộc tính accessors, nhanh hơn và an toàn hơn nhiều:


var obj = { a: 20, b: 30 };
var propName = getPropName();  // returns "a" or "b"
var result = obj[ propName ];  //  obj[ "a" ] is the same as obj.a
Bạn thậm chí có thể sử dụng phương pháp này để truy cập các thuộc tính hậu duệ. Sử dụng eval () sẽ giống như sau:

var obj = {a: {b: {c: 0}}};
var propPath = getPropPath();  // returns e.g. "a.b.c"

eval( 'var result = obj.' + propPath );
Tránh eval () ở đây có thể được thực hiện bằng cách tách đường dẫn thuộc tính và lặp lại các thuộc tính khác nhau:


function getDescendantProp(obj, desc) {
  var arr = desc.split('.');
  while (arr.length) {
    obj = obj[arr.shift()];
  }
  return obj;
}

var obj = {a: {b: {c: 0}}};
var propPath = getPropPath();  // returns e.g. "a.b.c"
var result = getDescendantProp(obj, propPath);
Thiết lập một thuộc tính tương tự như vậy:


function setDescendantProp(obj, desc, value) {
  var arr = desc.split('.');
  while (arr.length > 1) {
    obj = obj[arr.shift()];
  }
  obj[arr[0]] = value;
}

var obj = {a: {b: {c: 0}}};
var propPath = getPropPath();  // returns e.g. "a.b.c"
var result = setDescendantProp(obj, propPath, 1);  // test.a.b.c will now be 1

Sử dụng các chức năng thay vì đánh giá các đoạn mã

JavaScript có các chức năng hạng nhất, có nghĩa là bạn có thể vượt qua các hàm như các đối số cho các API khác, lưu trữ chúng trong biến và các thuộc tính của các đối tượng, v.v ... Nhiều API DOM được thiết kế với điều này trong tâm trí, do đó bạn có thể (và nên) viết:


// instead of setTimeout(" ... ", 1000) use:
setTimeout(function() { ... }, 1000); 

// instead of elt.setAttribute("onclick", "...") use:
elt.addEventListener('click', function() { ... } , false);
Closures  cũng rất hữu ích như là một cách để tạo ra các tham số mà không cần nối dây.

Phân tách cú pháp JSON (chuyển đổi các chuỗi thành các đối tượng JavaScript)


Nếu chuỗi bạn đang gọi eval () trên chứa dữ liệu (ví dụ: mảng "[1, 2, 3]"), ngược lại với mã, bạn nên xem xét chuyển sang JSON, cho phép chuỗi sử dụng Tập hợp con của cú pháp JavaScript để biểu diễn dữ liệu. Xem thêm Tải về JSON và JavaScript trong phần mở rộng.

Lưu ý rằng vì cú pháp JSON bị hạn chế so với cú pháp JavaScript, nhiều văn bản JavaScript hợp lệ sẽ không phân tích cú pháp là JSON. Ví dụ: dấu phẩy sau không được phép trong JSON và tên thuộc tính (khóa) trong các ký tự đối tượng phải được bao gồm trong dấu ngoặc kép. Đảm bảo sử dụng một trình tạo mã JSON để tạo chuỗi sau đó được phân tích cú pháp dưới dạng JSON.

Truyền dữ liệu thay vì mã


Ví dụ: tiện ích được thiết kế để cạo nội dung của các trang web có thể có các quy tắc cào được xác định trong XPath thay vì mã JavaScript.

Chạy mã với các đặc quyền giới hạn

Nếu bạn phải chạy mã, hãy xem xét chạy nó với các đặc quyền giảm. Lời khuyên này áp dụng chủ yếu cho các ứng dụng mở rộng và XUL, có thể sử dụng Components.utils.evalInSandbox cho việc này.

Ví dụ
Sử dụng eval

Trong đoạn code sau, cả hai câu lệnh chứa eval () trả về 42. Đầu tiên đánh giá chuỗi "x + y + 1"; Phần thứ hai đánh giá chuỗi "42".
var x = 2;
var y = 39;
var z = '42';
eval('x + y + 1'); // returns 42
eval(z);           // returns 42
Sử dụng eval để đánh giá một chuỗi các câu lệnh JavaScript

Ví dụ sau sử dụng eval () để đánh giá chuỗi str. Chuỗi này bao gồm các câu lệnh JavaScript mở hộp thoại cảnh báo và chỉ định z một giá trị là 42 nếu x là năm và gán 0 cho zotherwise. Khi câu lệnh thứ hai được thực hiện, eval () sẽ làm cho các câu lệnh này được thực hiện, và nó cũng sẽ đánh giá tập hợp các câu lệnh và trả về giá trị được gán cho z.
var x = 5;
var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0;";

console.log('z is ', eval(str));
Biểu thức cuối cùng được đánh giá
Eval () trả về giá trị của biểu thức cuối cùng được đánh giá.
var str = 'if ( a ) { 1 + 1; } else { 1 + 2; }';
var a = true;
var b = eval(str);  // returns 2
 
console.log('b is : ' + b);

a = false;
b = eval(str);  // returns 3

console.log('b is : ' + b);
Eval như là một chức năng xác định chuỗi đòi hỏi "(" and ")" như tiền tố và hậu tố



var fctStr1 = 'function a() {}'
var fctStr2 = '(function a() {})'
var fct1 = eval(fctStr1)  // return undefined
var fct2 = eval(fctStr2)  // return a function



출장안마


Thứ Hai, 13 tháng 3, 2017

Kylie Jenner- Mức theo dõi khủng 82 triệu trên Instagram

Kylie Jenner- Mức theo dõi khủng 82 triệu trên Instagram

Mức theo dõi khủng 82 triệu lượt theo dõi trên Instagram của Kylie Jenner


Kylie Jenner khoe ảnh bốc lửa trên trang cá nhân trong dịp vượt mức 82,3 triệu lượt theo dõi trên trang Instagram



Em cô Kim là 1 trong những sao hot nhất trên các trang mạng xã hội hiện nay. Cô gái 19 tuổi nổi tiếng hơn cả các chị gái của mình


Nhờ danh tiếng lan rộng, Kylie dễ dàng kiếm bộn tiền nhờ quảng bá các sản phẩm trên trang cá nhân của mình



Chưa đầy 20 tuổi, Kylie đã đạt nhiều thành công trong lĩnh vực kinh doanh thời trang, mỹ phẩm



Năm 2016 vừa qua, em cô Kim đã tậu được cho mình dinh thự triệu đô thứ 4



Kylie tương tác với fans rất thường xuyên trên trang cá nhân. Cô cũng chia sẻ những mẹo trang điểm, làm đẹp hiệu quả



Như các chị gái, Kylie dính nhiều tin đồn làm đẹp bằng dao kéo nhưng cô chỉ thừa nhận đã bơm môi mà thôi.


>>>Chuyên Nhận In Decal - In Decal Oto Giá rẻ tại Hà Nội
>>> Chuyên nhận in tờ rơi tờ gấp giá rẻ hà nội 
Tin tức thế giới-Bà Park Geun-hye bị tố chiếm dụng phủ tổng thống Hàn Quốc

Tin tức thế giới-Bà Park Geun-hye bị tố chiếm dụng phủ tổng thống Hàn Quốc

Tin tức thế giới-Bà Park Geun-hye bị tố chiếm dụng phủ tổng thống Hàn Quốc

Tại Hàn Quốc Lãnh đạo đảng đối lập đã cáo buộc bà Park Geun-hye chiếm dụng trái phép Nhà Xanh sau khi bị phế truất hôm 10/3, do Sputnik đưa tin.


Theo Sputnik, lãnh đạo đảng Lao động đối lập ở Hàn Quốc, ông Lee Gap-yong, ngày 11/3 đã lên tiếng cáo buộc Tổng thống bị phế truất Park Geun-hye chiếm dụng trái phép dinh tổng thống (hay còn gọi là Nhà Xanh) khi bà chưa rời khỏi đây sau lệnh phế truất. Quan chức này cũng đề nghị cảnh sát can thiệp để buộc bà Park phải rời Nhà Xanh.



Tòa án Hiến pháp Hàn Quốc ngày 10/3 đã ra phán quyết ủng hộ việc phế truất ngay lập tức Tổng thống Park Geun-hye với cáo buộc lạm quyền và tham nhũng. Như vậy, bà Park bị tước toàn bộ đặc quyền, đặc lợi ngay lập tức, thậm chí bà có thể đối mặt với nguy cơ bị truy tố hình sự.

Kể từ sau phán quyết, bà Park chưa đưa ra bất cứ bình luận nào và tiếp tục ở lại trong dinh tổng thống. Một phát ngôn viên của bà Park nói rằng, bà chưa thể rời Nhà Xanh vì lý do an ninh và do nhà riêng của bà ở khu Gangnam cần vài ngày để sửa chữa.

Các nhà phân tích cho rằng, bà Park cần được cho thời gian nhất định để rời Nhà Xanh, có thể là từ 2 đến 3 ngày. Trong khi đó, những người chỉ trích thì cho rằng, việc bà Park cố nán lại Nhà Xanh để tìm cách xóa chứng cớ.

Phán quyết luận tội và phế truất Tổng thống Park Geun-hye đã kéo theo những phản ứng trái chiều của cử tri Hàn Quốc. Trong khi hôm qua khoảng 50.000 người xuống đường để ăn mừng thì hàng nghìn người ủng hộ bà Park cũng tuần hành đề nghị xét lại phán quyết.

Thứ Sáu, 10 tháng 3, 2017

Chuyên Nhận In Decal - In Decal Oto Giá rẻ tại Hà Nội

Chuyên Nhận In Decal - In Decal Oto Giá rẻ tại Hà Nội

In decal tức là tem nhãn có tráng sẵn lớp keo tự dính (hoặc nói cách khác dính nhờ áp lực). Không như các loại nhãn khác nhãn có keo sẵn chỉ dính khi làm được ướt, nung nóng hay bôi keo thông. Loại keo này không cần phải làm ướt hay nung nóng  mà chỉ cần 1 áp lực nhẹ, nhãn sẽ dính vào sản phẩm.

In Việt Bắc chuyên nhận in decal giá rẻ với xưởng sản xuất trực tiếp tại 185 Hồ Tùng Mậu- Cầu Giấy- Hà Nội, máy in và mực in chất lượng cao – đảm bảo tạo ra Sản phẩm in decal với màu sắc và chất lượng tốt nhất đến với khách hàng khi đến với Quảng Cáo Việt Bắc.



Công ty in Việt Bắc chuyên nhận in bạt khổ lớ, in offset giá rẻ, in Catalogue, in card visit, in decal giá rẻ tại Hà Nội, ...

Các loại decal của chúng tôi thông thường sẽ là :

1. in decal dùng làm nhãn bao bì 

Tem nhãn xe hơi, xe máy và đồ điện tử
Tem nhãn cho thực phẩm
Tem nhãn cho thực phẩm đóng chai
Tem nhãn cho hàng tiêu dùng
Tem nhãn cho hoá chất
Tem nhãn cho dược phẩm
Tem nhãn niêm phong.
Tem nhãn bảo hành


2. In decal dùng làm nhãn chứa thông tin thay đổi


Nhãn thông tin trong công nghiệp
Nhãn cho kho vận – vận chuyển
Nhãn cho văn phòng
Nhãn cho bán lẻ


3. In decal dùng làm nhãn khuyến mãi và trang trí.

Có thể dung phương thức in decal đẹp làm những sản phẩm khuyến mại trang trí cho công ty cua mình. Vì decal nhỏ gọn tinh tế, phù hợp làm các việc trang trí thêm cho sản phẩm hay văn phòng công ty. Nhất là các loại như decal nhựa….


4. in ấn decal dùng làm poster quảng cáo

Chuyên dùng decal làm quảng cáo cho các sản phẩm của doanh nghiệp. Đa phần là mẫu in decal như chai nước hoạc các loại tem nhãn,logo dán lên sản phẩm.


5. In Decal Oto

Decal oto cũng có các khổ in giống như decal PP 914mm, 1070mm, 1270mm, 1520mm. Đến với công ty in phun Việt Bắc của chúng tôi bạn sẽ được phục vụ tốt về việc in ấn của mình, với vật liệu tốt, decal có độ bám dính cao, giúp bạn thi công dễ dàng.



Tại sao in decal lại in Việt Bắc lại rẻ?

Bên cạnh đó, công ty không ngừng tìm kiếm và hợp tác với các nhà cung cấp vật liệu bao gồm giấy in, mực in, keo…với một mức giá phù hợp nhất. Điều này đã ảnh hưởng đáng kể trong việc hạ giá thành sản phẩm xuống mức thấp nhất nhằm hổ trợ tối đa khách hàng của chúng tôi.

Vì những lí do trên, chúng tôi tự hào là nhà cung cấp sản phẩm in decal giá rẻ và chất lượng nhất cho mọi đối tượng khách hàng với Xưởng In Việt BẮc . Một số sản phẩm decal của chúng tôi :

+ In decal giấy
+ in decal trong
+ in decal nhựa
+ in tem decal


Hãy liên hệ ngay với chúng tôi theo số hotline: 0422.651.666 hoặc 0422.831.666 hoặc 01694097603, bạn sẽ được tư vấn cụ thể về giá cả và chất liệu cũng như cung cách in decal của chúng tôi .




Email        : vietbaccompany@gmail.com

Địa chỉ      : 185 Hồ Tùng Mậu, Từ Liêm, Hà nội

Xưởng in : 188, Phúc diễn, Từ liêm, Hà nội.

Web          : quangcaovietbac.com.vn

Thứ Tư, 8 tháng 3, 2017

Cách xuất trang web sang PDF từ PHP

Cách xuất trang web sang PDF từ PHP

Pdfcrowd API là một công cụ trực tuyến cho phép bạn dễ dàng in các trang web và mã HTML sang PDF trong các ứng dụng PHP của bạn. Các tệp PDF được tạo ra trong cloud, không có thư viện của bên thứ ba là cần thiết. Tất cả những gì bạn cần là một thư viện khách hàng PHP API nhỏ gọn.

Mã này chuyển đổi một trang web và gửi tệp PDF được tạo ra dưới dạng phản hồi HTTP:


require 'pdfcrowd.php';
// create an API client instance
$client = new Pdfcrowd("username", "apikey");
// convert a web page and store the generated PDF into a variable
$pdf = $client->convertURI('http://www.google.com/');
// set HTTP response headers
header("Content-Type: application/pdf");
header("Cache-Control: max-age=0");
header("Accept-Ranges: none");
header("Content-Disposition: attachment; filename=\"google_com.pdf\"");
// send the generated PDF
echo $pdf;

Một tùy chọn khác là để chuyển đổi mã HTML thô, chỉ cần sử dụng phương thức convertHtml() thay convertURI():


$pdf = $client->convertHtml("<body>My HTML Layout</body>");

API cho phép bạn chuyển đổi một tệp HTML cục bộ:


$pdf = $client->convertFile("/path/to/MyLayout.html");

File Ví dụ cho việc chuyển đổi TẠI ĐÂY

Chú ý:

- PDF đóng gói một mô tả đầy đủ về tài liệu phẳng bố trí cố định.
- PDF là một tiêu chuẩn nền tảng chéo. Ai đó có thể tạo một tệp PDF trên máy trạm Linux và bạn có thể mở tệp trên PC hoặc Mac và vẫn thấy tài liệu giống như dự định được xem:
- PDF hỗ trợ bảo mật. Xuất bản một tệp PDF có thể đặt các tùy chọn bảo mật khác nhau. Bạn có thể khóa PDF để nó chỉ có thể được mở bằng mật khẩu. Cũng có thể cấm việc thay đổi nội dung của một tệp PDF hoặc vô hiệu hóa tùy chọn để in tệp PDF.

Thứ Ba, 7 tháng 3, 2017

Cung cấp Dịch Vụ In catalogue Giá Rẻ Tại Hà Nội

Cung cấp Dịch Vụ In catalogue Giá Rẻ Tại Hà Nội

 Xưởng In Việt Bắc In catalogue Giá Rẻ Tại Hà Nội 



In catalogue Là giải pháp tuyệt vời khi bạn muốn truyền tải tới khách hàng những thông tin doanh nghiệp, chương trình khuyến mãi sản phẩm hay dịch dụ. khi bạn cần gửi đến Quý khách hàng của mình  sản phẩm dịch dụ hoàn hảo, bạn cần một sản phẩm  in tốt, chất lượng, với đầy đủ màu sắc trang nhã, hình ảnh đẹp sắc nét và phương pháp gia công độc đáo.




In catalogue, xưởng in Việt Bắc ,là sản phẩm quảng cáo có tập hợp lượng thông tin tương đối khá đầy đủ, là công cụ giúp doanh nghiệp hệ thống một cách chi tiết những thông tin về doanh nghiệp, sản phẩm , dịch vụ của mình để thuyết phục đối tượng qua đó tác dụng trực tiếp lên quyết định mua hàng của đối tượng thông qua sự so sánh giữa các chủng loại sản phẩm của chính doanh nghiệp hoặc của các doanh nghiệp cùng sản xuất mặt hàng đó.




Bạn có thể tin tưởng vào Xưởng In Việt Bắc, in catalogue chất lượng, in catalogue giá rẻ, với công nghệ máy in offset chất lượng cao hiện đại và khả năng sáng tạo không giới hạn. Chúng tôi sẽ đem đến bạn một sản phẩm hoàn chỉnh chất lượng  độc đáo với giá thành cạnh tranh.


Việc gia công catalogue sau khi in xong :


  • Phủ UV gốc nước, UV gốc dầu, UV định hình, Varnish.
  • Ghép màng bóng, mờ, Metallized.
  • Ép kim, dập chìm, nổi.
  • Bế định hình. 




Liên Hệ: 

Email        : vietbaccompany@gmail.com

Địa chỉ      : 185 Hồ Tùng Mậu, Từ Liêm, Hà nội

Xưởng in : 188, Phúc diễn, Từ liêm, Hà nội.

Web          : quangcaovietbac.com.vn

>>  địa chỉ in hóa đơn giá rẻ
>> dịch vụ thi công biển chữ nổi
Cấu trúc điều khiển- Control

Cấu trúc điều khiển- Control

Câu lệnh if, elseif…else và switch được lấy để đưa ra các điều kiện cần với các trường hợp khác nhau. Bạn có thể sử dụng câu lệnh điều kiện trong code của bạn để đưa ra những điều kiện xảy ra cho từng trường hợp. cau truc dieu khienPHP hỗ trợ 3 loại câu lệnh sau:
 1. Câu lệnh if…else Sử dụng câu lệnh này nếu bạn muốn thực hiện một bộ mã khi một điều kiện là đúng sự thật. Cú pháp:



Ví dụ :


hoặc 


2. Câu lệnh elseif  được sử dụng với câu lệnh if…else để thực hiện một bộ mã nếu một trong số điều kiện là đúng sự thật. Cú pháp:



Ví dụ 




3. Câu lệnh switch  Sử dụng nếu bạn muốn chọn một trong nhiều khối điều kiện sẽ thực hiện, sử dụng câu lệnh Switch. Các điều kiện sẽ được sử dụng để tránh các khối dài của mã if…elseif…else. Cú pháp: