我正在尝试理解这行代码的工作原理。显然,如果isReady
的值为true
,则LAUNCH
将返回'ready'
,如果不是false
,则const LAUNCH = 'ready'
const isReady = LAUNCH === 'ready'
将返回function category_single_product(){
$product_cats = wp_get_post_terms( get_the_ID(), 'product_cat' );
if ( $product_cats && ! is_wp_error ( $product_cats ) ){
$single_cat = array_shift( $product_cats ); ?>
<h2 itemprop="name" class="product_category_title"><span><?php echo $single_cat->name; ?></span></h2>
<?php }
}
add_action( 'woocommerce_before_shop_loop_item_title', 'category_single_product', 25 );
。这里发生了什么?
EXEC sp_attach_db @dbname = N'sample2',
@filename1 =
N'C:\NewDataFolder\TestDB.mdf',
@filename2 =
N'C:\NewDataFolder\TestDB_log.ldf';
答案 0 :(得分:3)
这里发生了什么?
首先,它正在评估正确的表达式 LAUNCH === 'ready'
,即true
。
然后,只需将此值分配给isReady
变量。 isReady
变量每次都会保留一个boolean
值。
答案 1 :(得分:2)
要添加正确答案,评估顺序会使世界变得与众不同。
以下代码片段旨在帮助您更好地理解JS中的事情评估方式:
var obj = {
true: "stuff"
}
var stuff = function () {
return function () {
return 2+2
}
}
window[obj["hi".length == 2]]()() == 4 // this weird statement returns true
这里发生的是评估顺序:
"hi".length
评估为2
2 == 2
评估为true
obj[true]
,在true
被强制转换为字符串后,评估为"stuff"
window["stuff"]
被评估为现有函数2+2
并返回4
4 == 4
评估为true